Python Logging模組-配置檔案說明
首先直接來看一個配置檔案
[loggers]
keys=root,simpleExample
[handlers]
keys=consoleHandler,fileHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=fileHandler
[logger_simpleExample]
level=DEBUG
handlers=consoleHandler,fileHandler
qualname=simpleExample
propagate=0
[handler_consoleHandler]
class=StreamHandler
level=WARNING
formatter=simpleFormatter
args=(sys.stdout,)
[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
args=('test.log','a+')
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
Logging模組的配置,其實就是配置上一篇所講的Logger,Handler,Formatter的過程。
[loggers],[handlers],[formatters] 這三項定義了logger,handler,formatter有哪些,下面分別以logger_xxx,handler_xxx,formatter_xxx來配置。
如[logger_simpleExample]這項
level=DEBUG
handlers=consoleHandler,fileHandler
qualname=simpleExample
propagate=0
設定級別為DEBUG,handler為consoleHandler,fileHandler,
其中consoleHandler,fileHandler的配置在下面[handler_consoleHandler]和[handler_fileHandler]
[handler_consoleHandler]的配置
class=StreamHandler
level=WARNING
formatter=simpleFormatter
args=(sys.stdout,)
設定了這個handler的型別是StreamHandler,級別是WARNING,意味著WARNING以上級別的日誌才會處理。
同時設定了formatter是simpleFormatter,輸出到螢幕上
在[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
中設定了日誌的格式,類似於上一篇中basicConfig中的引數。
使用時使用
logging.config.fileConfig('logging.conf')
載入該配置
注意:一定要有root這個logger!不然會報錯