在我的Raspberry Pi(Raspbian)上,从控制台启动时,以下代码(test.py)会在日志文件“ /home/pi/test/test.log”中按预期方式记录DEBUG和INFO日志消息,但是仅在启动时(由root用户)从/etc/rc.local文件启动时记录INFO日志消息。
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')
为什么?
答案 0 :(得分:1)
您指定的代码块应该可以正常工作,并且调试消息应该转到指定的文件
但是请记住,对于python进程,您只能执行一次logging.basicConfig
。如果您已经从另一个模块完成了logging.basicConfig
,或者您已经以其他方式配置了根记录器,则您的配置将无效
这是help(logging.basicConfig)
的片段
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.