03.23 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設置的是日誌的記錄文件(注意設置文件夾的權限),後一個參數設置了日誌的打印格式。

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

<table><tbody>

%(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

用戶輸出的消息

/<tbody>/<table>

3.查看結果

再次運行後,可以看到在我們設置的路徑下的txt文件中出現了日誌記錄

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

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

app.logger.name="appLogger"

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


分享到:


相關文章: