Python日志记录:从/etc/rc.local自动启动脚本时未记录调试级日志
在我的Raspberry Pi(Raspbian)上,当从控制台启动时,以下代码(test.py)按预期将调试和信息日志消息记录在日志文件“/home/Pi/test/test.log”中,但在启动时(由root用户)从/etc/rc.local文件启动时,仅记录信息日志消息Python日志记录:从/etc/rc.local自动启动脚本时未记录调试级日志,python,logging,raspberry-pi,raspbian,Python,Logging,Raspberry Pi,Raspbian,在我的Raspberry Pi(Raspbian)上,当从控制台启动时,以下代码(test.py)按预期将调试和信息日志消息记录在日志文件“/home/Pi/test/test.log”中,但在启动时(由root用户)从/etc/rc.local文件启动时,仅记录信息日志消息 import logging logging.basicConfig(filename='/home/pi/test/test.log',level=logging.DEBUG,\ format='%(asc
import logging
logging.basicConfig(filename='/home/pi/test/test.log',level=logging.DEBUG,\
format='%(asctime)s -- %(module)s -- %(levelname)s -- %(message)s')
logging.debug('Debug error')
logging.info('INFO ERROR')
为什么?您指定的代码块应该工作正常,调试消息应该转到指定的文件 但是请记住,对于python进程,只能执行一次
logging.basicConfig
。如果您已经从另一个模块执行了logging.basicConfig
,或者您已经以其他方式配置了根记录器,那么您的配置将不会产生任何效果
以下是帮助(logging.basicConfig)
基本配置(**kwargs)
对日志系统进行基本配置
This function does nothing if the root logger already has handlers
configured. It is a convenience method intended for use by simple scripts
to do one-shot configuration of the logging package.
但是你怎么解释当我从控制台启动脚本时,我会得到两个日志,而当root用户从/etc/local.rc自动启动脚本时,我只会得到一个信息日志?如果你声称这4行代码对root用户和非root用户的工作方式不同,我没有任何线索,我今晚会检查,我写的代码可能有误。(我根据记忆在这里报告)。但是,是的,我编写的代码在这两个用例中的工作方式不同…对不起,我错了,我在设置basicConfig之后在信息级别为我的记录器设置了一个处理程序。。。愚蠢的我。忘了我的问题吧,它工作得很好。。。