我为我的脚本设置了一个记录器,该记录器可以在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上设置记录器是否有不同的方式?
答案 0 :(得分:0)
我在日志记录中遇到了类似的问题,这种情况本不应该发生(我搜索了很多答案,但没有找到答案)
最后,我看着/usr/lib/python3.5/logging/__init__.py
看到了它。
就我而言,当我使用basicConfig
时,它表示如果处理程序已经存在(logging.root.handlers
),则不会发生任何事情(类似于我认为的情况)。
因此,在导入logging.root.handlers = [ ]
模块之后,我只用logging
将其设为空,然后它开始记录到文件中。
我不知道它是否对您完全一样,但是我会尝试这样做或查看您在上述文件路径中调用的函数(只知道您使用的python版本)
希望有帮助!