Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python日志记录:从/etc/rc.local自动启动脚本时未记录调试级日志_Python_Logging_Raspberry Pi_Raspbian - Fatal编程技术网

Python日志记录:从/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

在我的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='%(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之后在信息级别为我的记录器设置了一个处理程序。。。愚蠢的我。忘了我的问题吧,它工作得很好。。。