Flask使用日志記錄的方式:
- 初始化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的日志是打印在屏幕上的。不過一般我們是需要在一個文件里進行日志記錄的,下面我們來看一下如何設置日志記錄在文件上。
- 引用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文件中出現了日志記錄
這里我們看到有一個appLogger,這是日志的名稱,通過logger.name可以設置此名稱,如:
app.logger.name="appLogger"
詳情可參考官方文檔:https://docs.python.org/3/library/logging.html#logger-objects
更多文章關注微信公眾號“挨踢學霸”