Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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日志根本不起作用_Python_Logging - Fatal编程技术网

python日志根本不起作用

python日志根本不起作用,python,logging,Python,Logging,我正在尝试在我的小型python项目中使用日志记录。在本教程之后,我将下面的代码添加到我的代码中,但是消息并没有像预期的那样记录到文件中 import logging logging.basicConfig( filename = "a.log", filemode="w", level = logging.DEBUG) logging.error("Log initialization failed.") pwd中没有创建日志文件。(我使用了下面的代码来打印pwd,我

我正在尝试在我的小型python项目中使用日志记录。在本教程之后,我将下面的代码添加到我的代码中,但是消息并没有像预期的那样记录到文件中

import logging
logging.basicConfig(
    filename = "a.log",
    filemode="w",
    level = logging.DEBUG)
logging.error("Log initialization failed.")
pwd中没有创建日志文件。(我使用了下面的代码来打印pwd,我确信我检查了正确的目录。)因此我手动创建了文件并运行了代码,但消息仍然没有被记录

print "argv: %r"%(sys.argv,)
print "dirname(argv[0]): %s"%os.path.abspath(os.path.expanduser(os.path.dirname(sys.argv[0])))
print "pwd: %s"%os.path.abspath(os.path.expanduser(os.path.curdir))

有人知道我做错了什么吗?提前谢谢。

您至少打了两次
basicConfig()
;第一次没有文件名。清除处理程序,然后重试:

logging.getLogger('').handlers = []

logging.basicConfig(
    filename = "a.log",
    filemode="w",
    level = logging.DEBUG)

当你说有日志文件时,你的意思是没有日志文件吗?不,你的例子对我有用。什么python版本?大卫:是的,我的意思是没有日志机制生成的日志文件。Martijn:我正在运行:Python 2.7.3(默认值,2012年4月10日,23:24:47)[MSC v.1500 64位(AMD64)]在Windows 7(64位)上是否确实发生了日志代码(您是否将其放入函数或类似的东西中)?你有没有试着在它旁边放一个打印语句?其他调用在哪里?@andrew:我在
basicConfig
之前调用了
logging.info
,我认为它是无害的,所以我没有把它包含在上面的代码中。[Python logging HowTo][1]已经清楚地说明了这一点,但不知何故我错过了它:对basicConfig()的调用应该在对debug()、info()等的任何调用之前。因为它是一个一次性的简单配置工具,只有第一个调用才能真正起作用:后续调用实际上没有操作。[1]: