凑合的东西从这里和其他地方在一起,这是我想出了适用于unbuntu 12.04和centOS6
创建/etc/rsyslog.d/
,在结尾的文件。CONF并添加以下文本
local6.* /var/log/my-logfile
重启rsyslog
,重装似乎没有新的日志文件。也许它只会重新加载现有的conf文件?
sudo restart rsyslog
然后你可以使用这个测试程序来确定它的实际工作。
import logging, sys
from logging import config
LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'formatters': {
'verbose': {
'format': '%(levelname)s %(module)s P%(process)d T%(thread)d %(message)s'
},
},
'handlers': {
'stdout': {
'class': 'logging.StreamHandler',
'stream': sys.stdout,
'formatter': 'verbose',
},
'sys-logger6': {
'class': 'logging.handlers.SysLogHandler',
'address': '/dev/log',
'facility': "local6",
'formatter': 'verbose',
},
},
'loggers': {
'my-logger': {
'handlers': ['sys-logger6','stdout'],
'level': logging.DEBUG,
'propagate': True,
},
}
}
config.dictConfig(LOGGING)
logger = logging.getLogger("my-logger")
logger.debug("Debug")
logger.info("Info")
logger.warn("Warn")
logger.error("Error")
logger.critical("Critical")
你在哪里检查你的系统日志消息? SysLogHandler()将这些消息发送到localhost中端口514的udp套接字。 – suzanshakya 2010-10-19 14:21:40
你是对的。我在文档中看到'localhost-514',但没有想到应该使用/ dev/log默认情况下..叹息.. – thor 2010-10-19 18:28:47