Python日志记录模块-在树莓派上没有输出到日志文件,但在Mac OS上可以使用

时间:2019-06-23 15:24:42

标签: python logging raspberry-pi raspbian

我为我的脚本设置了一个记录器,该记录器可以在Mac上完美运行。但是我需要这个程序在树莓派上以24/7运行。但是,当它在此处运行时,由于某种奇怪的原因,日志文件只是保持空白。

这是我设置记录器的方式

import logging
import ...
import ... 

logger = logging.getLogger(__name__)
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s:%(name)s:%(message)s')
file_handler = logging.FileHandler(filename='log_file.log')
file_handler.setFormatter(formatter)
logger.addHandler(file_handler)

,然后在我的方法中使用,只需调用logger.debug('[msg here]')

我不知道为什么会这样,与在Mac OS上相比,在raspbian / linux上设置记录器是否有不同的方式?

1 个答案:

答案 0 :(得分:0)

我在日志记录中遇到了类似的问题,这种情况本不应该发生(我搜索了很多答案,但没有找到答案)

最后,我看着/usr/lib/python3.5/logging/__init__.py看到了它。 就我而言,当我使用basicConfig时,它表示如果处理程序已经存在(logging.root.handlers),则不会发生任何事情(类似于我认为的情况)。

因此,在导入logging.root.handlers = [ ]模块之后,我只用logging将其设为空,然后它开始记录到文件中。

我不知道它是否对您完全一样,但是我会尝试这样做或查看您在上述文件路径中调用的函数(只知道您使用的python版本)

希望有帮助!