Python日志记录:从/etc/rc.local自动启动脚本时,未记录DEBUG级别的日志

时间:2018-06-19 11:44:32

标签: python logging raspberry-pi raspbian

在我的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')

为什么?

1 个答案:

答案 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.