Складаючи речі разом звідси та інших місць, це те, що я придумав, що працює на unbuntu 12.04 та centOS6
Створіть файл, /etc/rsyslog.d/
який закінчується в .conf, і додайте наступний текст
local6.* /var/log/my-logfile
Перезапуск rsyslog
, перезавантаження НЕ здається, працює для нових файлів журналу. Може бути, він лише перезавантажує наявні файли конф?
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")