等同于getLogger(' name')。config.ini中的setLevel('警告')

时间:2018-04-03 13:16:51

标签: python python-2.7 logging cassandra

我在项目中的所有模块中配置日志记录,如下所示:

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=

1 个答案:

答案 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