Python新手。现在我一直困在这里。当我尝试使用ini
配置在文件中写入日志时,文件中不会捕获任何内容。我试图调试该问题,但无法得知任何线索。在不使用ini
文件的情况下编写日志非常好。登录到文件的记录器配置
下面是代码和ini文件
import logging
from logging.config import fileConfig
def info(message):
fileConfig('logging_config.ini')
logger=logging.getLogger("simple logger")
logger.warning('Something is not right')
logger.warning(message)
logging_config.ini
[loggers]
keys=root
[handlers]
keys=file_handler
[logger_root]
level=WARNING
handlers=file_handler
[formatters]
keys=formatter
[formatter_formatter]
format='%(message)s'
[handler_file_handler]
class=FileHandler
level=WARNING
formatter=formatter
args=('dummyoutput.log','w')
我查了一下记录器对象也能看到,如果我能得到它的属性的任何线索。下面是对象
{'disabled': 0,
'filters': [],
'handlers': [<logging.FileHandler object at 0x7ff03358ce90>],
'level': 30,
'name': 'root',
'parent': None,
'propagate': 1}
不知道,乐于助人,但我注意到disabled
早些时候表示TRUE
的财产,但现在则是每次0
。
有没有人对此有任何线索?
更新:该问题是由于对同一配置文件的logging.config.fileConfig()多次调用所致。但是我不明白为什么最后一次调用该函数时没有写入任何内容。任何想法呢?
哦,是的......你说得对。但与此同时它也不起作用。另外,我之前尝试过的大多数时候都没有给logger任何名字'logger = logging.getLogger()',但那也没有奏效。不知道那里出了什么问题。 – qwerty
你能解释一下哪些工作不正常(因为我已经测试过了)。注意:你应该在配置INI中使用完整路径。你有没有找到你的日志文件? –
日志文件已被生成。你分享的代码非常好。实际上,问题在于'info(message)'不止一次被调用,fileConfig()'也被调用了相同的配置文件,因为它在info函数内* [请检查我的答案以获得详细信息] *。但是我不明白为什么最后一次调用该函数时没有写入任何内容。任何想法呢? – qwerty