Python 尝试写入系统日志

Python 尝试写入系统日志,python,linux,syslog,Python,Linux,Syslog,我在linux中工作,进程rsyslogd正在侦听端口514。 以下代码无法写入/var/log/syslog。 有人知道问题出在哪里吗 import logging import logging.handlers root_logger = logging.getLogger() root_logger.setLevel(config.get_value("log_level")) syslog_hdlr = SysLogHandler(address='/dev/log', facili

我在linux中工作,进程rsyslogd正在侦听端口514。 以下代码无法写入/var/log/syslog。 有人知道问题出在哪里吗

import logging
import logging.handlers


root_logger = logging.getLogger()
root_logger.setLevel(config.get_value("log_level"))
syslog_hdlr = SysLogHandler(address='/dev/log', facility=SysLogHandler.LOG_DAEMON)
syslog_hdlr.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(name)s: %(levelname)s %(message)s')
syslog_hdlr.setFormatter(formatter)
root_logger.addHandler(syslog_hdlr)

logger = logging.getLogger("imapcd.daemon")
logger.debug('test')

如果我做了一些更改,此代码在我的系统中运行良好:

import logging.handlers as sh
syslog_hdlr = sh.SysLogHandler(address='/dev/log', facility=sh.SysLogHandler.LOG_DAEMON)

因此,检查从
config
获得的日志记录级别是否比
DEBUG
更严格(例如:如果设置为
INFO
则不会打印调试消息)

如果您仍然没有在syslog上看到任何内容,请尝试使用
syslog
模块,查看是否从中获得任何内容:

import syslog
syslog.syslog(syslog.LOG_ERR, "MY MESSAGE")

嗨,怎么了?另外,如果这只是一个代码片段,我看不出
config
的来源。如果使用syslog模块(
from syslog import syslog;syslog(“我的消息”)
),您会得到任何信息。如何将其发送到远程服务器?我应该在哪里配置IP?@roihatam我没有尝试过,但是
SyslogHandler
接受(地址、端口)元组作为参数。看,好的,我已经找到了。syslog_hdlr=SysLogHandler(地址=('192.168.1.101',514),facility=SysLogHandler.LOG_守护进程)自2017年起仍然相关,使用了最后一种形式(最简单的形式),成功了…谢谢!
import syslog
syslog.syslog(syslog.LOG_ERR, "MY MESSAGE")