Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python通过ini记录到文件会创建空日志文件_Python_Python 2.7_Logging - Fatal编程技术网

Python通过ini记录到文件会创建空日志文件

Python通过ini记录到文件会创建空日志文件,python,python-2.7,logging,Python,Python 2.7,Logging,我有一个非常基本的Python登录示例(v2.7.10),但我无法让登录文件正常工作。登录到stderr不是问题,但当我试图要求它写入文件时,我得到的只是一个空的日志文件 这是我的配置log\u config.ini文件: [loggers] keys=root [handlers] keys=file_handler,stream_handler [formatters] keys=formatter [logger_root] level=DEBUG handlers=stream_h

我有一个非常基本的Python登录示例(v2.7.10),但我无法让登录文件正常工作。登录到stderr不是问题,但当我试图要求它写入文件时,我得到的只是一个空的日志文件

这是我的配置
log\u config.ini
文件:

[loggers]
keys=root

[handlers]
keys=file_handler,stream_handler

[formatters]
keys=formatter

[logger_root]
level=DEBUG
handlers=stream_handler

[handler_stream_handler]
class=StreamHandler
level=WARNING
formatter=formatter
args=(sys.stderr,)

[handler_file_handler]
class=FileHandler
level=DEBUG
formatter=formatter
args=('empty.log',)

[formatter_formatter]
format=%(asctime)-s %(name)s %(module)s %(funcName)s %(levelname)-8s %(message)s
datefmt=%Y-%m-%d %H:%M:%S
下面是使用此ini文件的基本测试python脚本:

import logging
from logging import config

log_config_ini = "log_config.ini"
logging.config.fileConfig(log_config_ini)

logger = logging.getLogger()

logger.critical('This outputs just to the screen')
logger.debug("This does not write to either screen (expected) nor file (unexpected)")
请注意,我可以更改
处理程序\u stream\u处理程序
块的
级别
,所有操作都按预期进行,因此配置文件被正确读取

我也尝试过类似于
logging.config.fileConfig(log\u config\u ini,disable\u existing\u loggers=False)
,levels,但似乎没有什么不同,我只得到了一个空的“empty.log”文件


我相信有一些非常基本和愚蠢的东西会有所帮助,但我想我已经用尽了google和Python文档。任何帮助都将不胜感激,提前谢谢

您需要将
文件\u处理程序
添加到配置文件中的根记录器
处理程序

[logger_root]
level=DEBUG
handlers=stream_handler, file_handler