Python记录FileHandler输出空白文件

时间:2013-12-01 01:19:00

标签: python logging

我正在尝试将所有过度使用的打印件更改为记录。*主要是因为我想要一个日志文件。

logger = logging.getLogger(__name__)
formatter = logging.Formatter("{levelname}:{name}:{message}", style="{")

file_handler = logging.FileHandler("log.txt")
file_handler.setFormatter(formatter)
file_handler.setLevel(logging.DEBUG)
logger.addHandler(file_handler)

console_handler = logging.StreamHandler()
console_handler.setLevel(logging.INFO)
console_handler.setFormatter(formatter)
logger.addHandler(console_handler)

logger.setLevel(logging.DEBUG)

这就是我现在拥有的代码,它正确地打印到控制台但不输出任何文件。该文件甚至是随机创建的,但是当它确实存在时,它总是空的。

我正在使用logger.debug()logger.info(),而不是logging.*

更新

只需将相同的代码复制到空脚本,导入按预期工作即可。怪异。

更新2:

我发现a question与我有同样的问题,他说他找到了解决办法,但他不同意:(

更新3:

这是我的source。每当torrent的状态发生变化时,代码都会被uTorrent调用。这是我在uTorrent中设置的命令:

py C:\Users\Gcq\Downloads\Torrent\torrent.py -n %N -d %D -f %F -p %P -c %S -s %M

py因为我在我的脚本顶部有shebang告诉py使用python3。我也安装了python2.7 命令行otions是uTorrent公开的信息。

2 个答案:

答案 0 :(得分:1)

我无法重现问题(我安装了Python 3.3.0而不是3.3.2,但这不应该是相关的。请参阅此截图:

enter image description here

行为似乎符合预期,因此我会更仔细地查看您的Python安装/配置,或您上面未显示的实际代码的任何其他部分。

答案 1 :(得分:0)

我认为'好吧,我没有告诉python将输出文件放在哪里'确实,它是在uTorrent基础文件夹中。

有了所有预期的输出,所以现在一切都很完美。