1. 程式人生 > >sanic官方文檔解析之logging和request Data

sanic官方文檔解析之logging和request Data

技術分享 沒有 type int con bsp conf 保留 level

1,sanic的logging:

技術分享圖片

Sanic允許有做不同類型的日誌(通過的日誌,錯誤的日誌),在基於Python3的日誌API接口請求,你必須具備基本的Python3的日誌知識,在你如果想創建一個新的配置

2,快速啟動:

技術分享圖片

一個簡單的例子使用默認的配置如上所示.

技術分享圖片

當服務器運行的時候,你能夠觀察到一些日誌信息,就想上式,你也可以向服務器發起一個請求,那樣就會打印出消息日誌.

技術分享圖片

為了使用自己的日誌配置,簡單使用logging.config.dictConfig或者通過log_config當你實例化Sanic對象的時候

如果你需要關閉日誌,僅僅就設置assign access_log=False

當你有請求的時候,你如果如上式寫,就會跳過回調日誌函數,並且你即使想要生產上做更多的事情,可以來獲得額外的效率

技術分享圖片

通過默認log_config參數設置使用sanic.log.LOGGING_CONFIG_DEFAULTS為配置字典

有以上三種日誌在Sanic中使用,並且必須被定義,如果你想要創建你自己的配置日誌

技術分享圖片

日誌格式化:

為了通過Python(asctime, levelname, message)提供默認參數,Sanic為允許日誌提供了附加的參數如上圖:

3,請求數據的解析:

技術分享圖片

請求數據,當 服務端結束到一個http請求的時候,路由函數被通過一個對象,攜帶參數是可接近的請求屬性對象

  • 返回一個json格式的數據

技術分享圖片

查詢字符串的參數查詢的額字符串是url的一部分,類似於:?key1=value1&key2=value2,如果url被解析,參數字典將會變成這樣:{‘key1‘: [‘value1‘], ‘key2‘: [‘value2‘]},請求的參數就會保留在沒有被解析的值裏面

技術分享圖片

在多種情況下,你需要保留url的參數在不太擁擠的字典裏,和先前的url一樣,參數字典將會向這樣{‘key1‘: ‘value1‘, ‘key2‘: ‘value2‘},文件參數的字典name,body和 type,如上圖所示.

技術分享圖片

提交form(字典的形式)表單的參數如上圖所示

技術分享圖片

請求體是字節的形式(bytes),提交的原生的數據,這樣的特征允許檢索請求來的數據,不用去估計他的數據類型

技術分享圖片

Sanic框架也支持藍圖的文件,和flask類似,也得需要註冊到Sanic主要的文件中.

技術分享圖片

使用request.endport屬性來訪問處理程序的名稱

當使用request.endpoint屬性處理程序的名稱的時候,比如,上圖中的路由將會返回hello.

技術分享圖片

或者註冊一個藍圖將會包括所有的,用時期分割比如上圖中用foo中的bar

sanic官方文檔解析之logging和request Data