En assemblant des éléments d'ici et d'autres endroits, c'est ce que j'ai trouvé qui fonctionne sur unununtu 12.04 et centOS6
Créez un fichier /etc/rsyslog.d/
qui se termine par .conf et ajoutez le texte suivant
local6.* /var/log/my-logfile
Redémarrez rsyslog
, le rechargement ne semble PAS fonctionner pour les nouveaux fichiers journaux. Peut-être qu'il ne recharge que les fichiers de configuration existants?
sudo restart rsyslog
Ensuite, vous pouvez utiliser ce programme de test pour vous assurer qu'il fonctionne réellement.
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")