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!不然會報錯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章