我在我的应用程序中实现了python日志记录,并且我希望能够利用“默认”根设置。我想使用根设置,因为我不想在配置文件中定义每个模块的记录器。禁用特定包的日志记录
当我打开根日志记录器的DEBUG级日志记录时,我遇到了QPID Python客户端API的问题。我的日志文件会充斥着qpid调试语句:
2011-03-16 09:16:18664 - qpid.messaging.io.ops - 调试 - 发[8de6b2c]:..
2011- 03-16 09:16:18,667 - qpid.messaging.io.raw - DEBUG - ..
2011-03-16 09:16:18,668 - qpid.messaging.io.raw - DEBUG - READ [8de6b2c] :..
2011-03-16 09:16:18668 - qpid.messaging.io.ops - 调试 - ..
等。
所以两个主要问题:
1)有没有一种方法,使*只是我的模块使用,而不限定每个模块的记录程序?换句话说,是否有一种方法可以共享“记录器设置”,因此,不必为每个记录器定义记录器部分,是否有一种方法来默认设置?
喜欢的东西:
[logger_shared_settings]
loggers = logger_A,logger_B,logger_C,logger_D
level=DEBUG
2)或如何能滤除通过配置文件中qpid包日志记录?
这里是log.conf文件:
[loggers]
keys=root
[handlers]
keys=consoleHandler,fileHandler,nullHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=DEBUG
handlers=consoleHandler,fileHandler
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
[handler_fileHandler]
class=logging.handlers.RotatingFileHandler
level=DEBUG
formatter=simpleFormatter
args=('out.log',)
这里是我试图避免:
[loggers]
keys=root, a, b, c, d
[handlers]
keys=consoleHandler,fileHandler,nullHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=ERROR
handlers=nullHandler
[logger_a]
level=DEBUG
handlers=consoleHandler,fileHandler
[logger_b]
level=DEBUG
handlers=consoleHandler,fileHandler
[logger_c]
level=DEBUG
handlers=consoleHandler,fileHandler
这个工程,jw你知道有什么办法做共享集吊环? – Nix
嗯...什么意思是“共享设置”? – oxyum
有点像根记录器,但有一个不同的部分,我可以将这些模块应用到我的应用程序中。 – Nix