Wie kann ich mich mit SysLogHandler oder Syslog unter Mac OS X * und * Debian (7) von Python zu Syslog anmelden?

Ich habe mehrere Antworten hier auf SO ohne Erfolg verfolgt.

Ich entwickle auf einem Macbook (Yosemite), aber unsere Test- / Produktionsboxen sind Debian 7 (mit rsyslog). Ich versuche, mich auf eine Weise bei Syslog abzumelden, die sowohl lokal als auch nicht funktioniert.

Ich habe versucht, die Option @ zu verwendSysLogHandler. Dies funktioniert auf Mac:

import logging
import logging.handlers
import syslog

h = logging.handlers.SysLogHandler(address='/var/run/syslog', facility=syslog.LOG_LOCAL1)
h.ident = 'works_on_macs'
logger = logging.getLogger('i_am_a_lumberjack')
logger.addHandler(h)

logger.debug("And I don't care")
logger.info('There is a sale on today')
logger.warn('Do not touch the hot stove!')
logger.error('Sorry, times up')
logger.critical('That sure is an ugly tie')

Diese Nachrichten werden in meinem Mac-Syslog angezeigt. Wenn ich jedoch @ ändeaddress='/dev/log' unter Debian 7 ... keine Würfel.

Noch

import syslog

syslog.openlog(ident='im_a_lumberjack', facility=syslog.LOG_LOCAL1)
syslog.syslog(syslog.WARNING, 'Watch out!')

Works unter Debian 7, aber nicht unter Mac.

Ich würde wirklich gerne eine Protokollierungslösung erhalten, die für beide Plattformen funktioniert. Natürlich wird die Adresse anders sein, aber das setze ich bereits in der Konfiguration.

So wie bekomme ich Syslog arbeiten beide für Macun Debian?

Bearbeiten

Als weitere Information - Ich habe festgestellt, dass mein SysLogHandler anscheinend nicht die richtige Funktion (?) Verwendet. Mitteilungensin wird von syslog abgeholt, aber sie gehen an einen Haken, was mich glauben lässt, dass sie nicht mit @ getaggt werdLOG_LOCAL1

Antworten auf die Frage(2)

Ihre Antwort auf die Frage