天天看點

python web開發-flask中日志的使用

Flask使用日志記錄的方式:

1.      初始化flask應用執行個體

在flask中使用logger,需要初始化一個flask的應用

    app = Flask(__name__)

2.      調用logger

直接調用logger方法

app.logger.info("my first logging")      

這裡記錄的是info級别的日志

3.      檢視結果

運作結果如下:

INFO in Code [D:/xxxxx/flask/Code.py:20]:

my first logging

預設情況下,flask的日志是列印在螢幕上的。不過一般我們是需要在一個檔案裡進行日志記錄的,下面我們來看一下如何設定日志記錄在檔案上。

1.      引用logging

因為flask的日志底層引用的是python的logging,設定需要通過python的logging進行,如下代碼:

import logging      

2.      設定logging的路徑

logging.basicConfig(filename="D:\\flaskLog\\log.txt",format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')      

上面的代碼裡設定了兩個參數,filename設定的是日志的記錄檔案(注意設定檔案夾的權限),後一個參數設定了日志的列印格式。

格式化中的常用參數如下:

%(name)s Logger的名字
%(levelno)s 數字形式的日志級别
%(levelname)s 文本形式的日志級别
%(pathname)s 調用日志輸出函數的子產品的完整路徑名,可能沒有
%(filename)s 調用日志輸出函數的子產品的檔案名
%(module)s 調用日志輸出函數的子產品名
%(funcName)s 調用日志輸出函數的函數名
%(lineno)d 調用日志輸出函數的語句所在的代碼行
%(created)f 目前時間,用UNIX标準的表示時間的浮 點數表示
%(relativeCreated)d 輸出日志資訊時的,自Logger建立以 來的毫秒數
%(asctime)s 字元串形式的目前時間。預設格式是 “2003-07-08 16:49:45,896”。逗号後面的是毫秒
%(thread)d 線程ID。可能沒有
%(threadName)s 線程名。可能沒有
%(process)d 程序ID。可能沒有
%(message)s 使用者輸出的消息

3.      檢視結果

再次運作後,可以看到在我們設定的路徑下的txt檔案中出現了日志記錄

python web開發-flask中日志的使用

這裡我們看到有一個appLogger,這是日志的名稱,通過logger.name可以設定此名稱,如:

app.logger.name="appLogger"      

詳情可參考官方文檔:https://docs.python.org/3/library/logging.html#logger-objects

更多文章關注微信公衆号“挨踢學霸”