我在项目中的所有模块中配置日志记录,如下所示:
import logging
import logging.config
logging.config.fileConfig('../logging.ini',defaults={'name':__name__})
logging.getLogger("cassandra").setLevel("WARNING") #move this line into the logging.ini
现在我想将最后一行移到以下配置文件中。这样做的最佳方式是什么?现在我将这一行复制/粘贴到每个模块中,尽管我有一个共享的配置文件。 :S
配置我发现只提供自创记录器的示例,但不覆盖导入记录器的属性。
logging.ini
[loggers]
keys=root
[handlers]
keys=consoleHandler,fileHandler
[formatters]
keys=simpleFormatter
[logger_root]
level=INFO
handlers=consoleHandler,fileHandler
[handler_consoleHandler]
class=StreamHandler
level=INFO
formatter=simpleFormatter
args=(sys.stdout,)
[handler_fileHandler]
class=FileHandler
level=DEBUG
formatter=simpleFormatter
args=('../logs/%(name)s.log',)
[formatter_simpleFormatter]
format=%(asctime)s - %(name)s - %(levelname)s - %(message)s
datefmt=
答案 0 :(得分:0)
在 logging.ini :
中尝试此操作[loggers]
keys=root,cassandra
[logger_cassandra]
level=WARNING
handlers=consoleHandler,fileHandler
qualname=cassandra
使用此配置,您可以编写类似
的模块import logging.config
logging.config.fileConfig('logging.ini', defaults={'name': __name__})
logging.warning("this is my logging message")
注意:我建议使用logging.dictConfig。它对我来说似乎更直接,并为您的配置提供了许多选项。您可能希望使用彩色控制台记录来结帐this example dict config甚至this。