標籤:
Python 標準庫中的 logging 模組提供了一套標準的 API 來處理日誌資訊的列印。
import logginglogging.basicConfig( level = logging.DEBUG, format = ‘%(asctime)s [%(threadName)s] (%(filename)s:%(lineno)d) %(levelname)s - %(message)s‘, datefmt = ‘%Y-%m-%d %H:%M:%S‘, filename = ‘myapp.log‘,)logging.debug(‘This is a debug message‘)logging.info(‘This is an info message‘)logging.warning(‘This is a warning message‘)
在 myapp.log 中列印出的日誌如下:
2015-03-11 15:54:34 [MainThread] (logging_demo.py:10) DEBUG - This is a debug message2015-03-11 15:54:34 [MainThread] (logging_demo.py:11) INFO - This is an info message2015-03-11 15:54:34 [MainThread] (logging_demo.py:12) WARNING - This is a warning message
logging.basicConfig 函數的參數說明:
參數 |
說明 |
filename |
記錄檔名 |
filemode |
記錄檔的開啟模式,預設為 ‘a‘ |
format |
日誌的輸出格式 |
datefmt |
時間的輸出格式 |
level |
記錄層級,大小關係為 CRITICAL(50) > ERROR(40) > WARNING(30) > INFO(20) > DEBUG(10) > NOTSET(0) |
stream |
日誌列印的輸出資料流,此參數與 filename 一起指定時,會被忽略掉 |
logging 中的格式化符號:
符號 |
說明 |
%(asctime)s |
時間 |
%(filename)s |
檔案名稱 |
%(funcName)s |
函數名 |
%(levelname)s |
記錄層級值 |
%(levelno)s |
記錄層級 |
%(lineno)d |
行號 |
%(module)s |
模組 |
%(message)s |
日誌訊息 |
%(name)s |
日誌名稱 |
%(pathname)s |
logger的名稱 |
%(process)d |
進程ID |
%(processName)s |
進程名 |
%(thread)d |
線程ID |
%(threadName)s |
線程名 |
Python(2.7.6) Tlog的簡單樣本