Собирая вещи здесь и из других мест, я придумал, что работает на 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")