Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/289.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.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阻止日志将日志写入syslog_Python_Python 2.7 - Fatal编程技术网

python阻止日志将日志写入syslog

python阻止日志将日志写入syslog,python,python-2.7,Python,Python 2.7,这是我的日志设置。它工作正常,我可以在test.log中找到log,但我也可以在/var/log/messages中找到类似的内容 Dec 9 16:13:39 ip-10-80-48-6 python: DEBUG:__main__:Test Log 我不想登录到/var/log/messages,也许其他路径更好,因为日志太大了 import logging logger = logging.getLogger(__name__) logging.basicConfig() logger

这是我的日志设置。它工作正常,我可以在test.log中找到log,但我也可以在/var/log/messages中找到类似的内容

Dec  9 16:13:39 ip-10-80-48-6 python: DEBUG:__main__:Test Log
我不想登录到/var/log/messages,也许其他路径更好,因为日志太大了

import logging
logger = logging.getLogger(__name__)
logging.basicConfig()
logger.setLevel(logging.DEBUG)

handler = logging.handlers.RotatingFileHandler('test.log', "a", maxBytes=50000000, backupCount=10)
handler.setLevel(logging.DEBUG)
handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))

logger.addHandler(handler)
更新

此代码在我的twisted服务中,我使用systemctl启动此服务

logging.basicConfig()
显然是设置了一个记录到/var/log/messages的标准处理程序
尝试删除它,或者在添加您的处理程序之前删除所有处理程序。我从未使用过python:

请参阅下面的链接。举例说明


在链接中解释的示例中,他们已将输出重定向到文件和控制台。如果您的要求是重定向到其他文件,而不是/var/log/messages;将test.log作为参数传递给basicConfig函数,并为syslog创建一个以上的处理程序,如下所示

sysloghandler = logging.handlers.SysLogHandler("/dev/log") 
sysloghandler.setLevel(logging.INFO) 
syslogformatter = logging.Formatter('%(name)s: %(level)s %(message)s') 
sysloghandler.setFormatter(syslogformatter) 
logging.getLogger('myapp').addHandler(sysloghandler)

我不反对你的答案,但为什么你知道原因是logging.basicConfig任何引用?我想Linux可能会将我的服务记录到/var/log/messages。你是说根部分吗?在链接中解释的示例中,他们已将输出重定向到文件和控制台。如果您的要求是重定向到其他文件,而不是/var/log/messages;将test.log作为参数传递给basicConfig函数,并为syslog创建一个以上的处理程序,如下所示。sysloghandler=logging.handlers.sysloghandler/dev/log sysloghandler.setLevellogging.INFO syslogformatter=logging.Formatter“%name:%levels%messages”sysloghandler.setformattersyslogformatter我不想将日志写入syslogvar/log/messages,在我的代码中我只使用basicConfig,但它仍然将日志写入syslogvar/log/messages。我将python应用程序注册到服务,这有关系吗?