Uniendo las cosas desde aquí y otros lugares, esto es lo que se me ocurrió que funciona en unbuntu 12.04 y centOS6
Cree un archivo /etc/rsyslog.d/
que termine en .conf y agregue el siguiente texto
local6.* /var/log/my-logfile
Reinicie rsyslog
, la recarga NO pareció funcionar para los nuevos archivos de registro. ¿Quizás solo recarga archivos conf existentes?
sudo restart rsyslog
Luego, puede usar este programa de prueba para asegurarse de que 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")