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

flynike發表於2021-09-09

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檔案中出現了日誌記錄

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

app.logger.name="appLogger"

詳情可參考官方文件:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/2618/viewspace-2803597/,如需轉載,請註明出處,否則將追究法律責任。

相關文章