Składając rzeczy tutaj i innych miejsc, oto co wymyśliłem, że działa na unbuntu 12.04 i centOS6
Utwórz plik w, /etc/rsyslog.d/
który kończy się na .conf i dodaj następujący tekst
local6.* /var/log/my-logfile
Uruchom ponownie rsyslog
, ponowne ładowanie NIE działało dla nowych plików dziennika. Może tylko przeładowuje istniejące pliki konfiguracyjne?
sudo restart rsyslog
Następnie możesz użyć tego programu testowego, aby upewnić się, że faktycznie działa.
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")