python web開發-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"
詳情可參考官方文檔:https://docs.python.org/3/library/logging.html#logger-objects
更多文章關註微信公眾號“挨踢學霸”
python web開發-flask中日誌的使用