Reunindo as coisas daqui e de outros lugares, é isso que eu criei que funciona no unbuntu 12.04 e centOS6
Crie um arquivo /etc/rsyslog.d/
que termine em .conf e adicione o seguinte texto
local6.* /var/log/my-logfile
Reinicie rsyslog
, recarregar NÃO parecia funcionar para os novos arquivos de log. Talvez ele apenas recarregue os arquivos conf existentes?
sudo restart rsyslog
Em seguida, você pode usar este programa de teste para garantir que ele realmente funcione.
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")