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