add support for syslog on freebsd

This commit is contained in:
Fredrik Eriksson 2020-12-21 15:48:22 +01:00
parent 0e61eee899
commit 0708e200c8
Signed by: feffe
GPG Key ID: F4329687B0FA7F8D

View File

@ -1,7 +1,9 @@
import argparse
import logging
import logging.handlers
import os
import re
import stat
import sys
import rotator
@ -83,11 +85,23 @@ def main():
handler.setLevel(logging.WARNING)
log.addHandler(handler)
handler = logging.handlers.SysLogHandler(address='/dev/log')
formatter = logging.Formatter(fmt='rotator[%(process)s] %(message)s')
handler.setFormatter(formatter)
handler.setLevel(logging.INFO)
log.addHandler(handler)
handler = None
for logsocket in ('/var/run/log', '/dev/log'):
try:
mode = os.stat(logsocket).st_mode
except FileNotFoundError:
continue
if stat.S_ISSOCK(mode):
handler = logging.handlers.SysLogHandler(address=logsocket)
formatter = logging.Formatter(fmt='rotator[%(process)s] %(message)s')
handler.setFormatter(formatter)
handler.setLevel(logging.INFO)
log.addHandler(handler)
break
if not handler:
log.warning('No syslog socket found, will not log to syslog')
args = parse_args()