004-add-syslog-support.patch (1902B)
1 diff --git a/obfsproxy/common/log.py b/obfsproxy/common/log.py 2 index bb30296..79193d2 100644 3 --- a/obfsproxy/common/log.py 4 +++ b/obfsproxy/common/log.py 5 @@ -1,5 +1,6 @@ 6 """obfsproxy logging code""" 7 import logging 8 +import logging.handlers 9 import sys 10 11 from twisted.python import log 12 @@ -50,6 +51,18 @@ class ObfsLogger(object): 13 14 self.obfslogger.addHandler(log_handler) 15 16 + def set_syslog(self, progname): 17 + """Set up our logger so that it starts logging to syslog instead.""" 18 + 19 + # remove the default handler, and add the SysLogHandler: 20 + self.obfslogger.removeHandler(self.default_handler) 21 + 22 + log_handler = logging.handlers.SysLogHandler(address='/dev/log') 23 + formatter = logging.Formatter(progname + "[%(process)d]: %(message)s") 24 + log_handler.setFormatter(formatter) 25 + 26 + self.obfslogger.addHandler(log_handler) 27 + 28 29 def set_log_severity(self, sev_string): 30 """Update our minimum logging severity to 'sev_string'.""" 31 diff --git a/obfsproxy/pyobfsproxy.py b/obfsproxy/pyobfsproxy.py 32 index 4a2faf6..eaf8a44 100755 33 --- a/obfsproxy/pyobfsproxy.py 34 +++ b/obfsproxy/pyobfsproxy.py 35 @@ -42,6 +42,7 @@ def set_up_cli_parsing(): 36 37 parser.add_argument('-v', '--version', action='version', version=__version__) 38 parser.add_argument('--log-file', help='set logfile') 39 + parser.add_argument('--syslog', metavar='PROGNAME', help='use syslog') 40 parser.add_argument('--log-min-severity', 41 choices=['error', 'warning', 'info', 'debug'], 42 help='set minimum logging severity (default: %(default)s)') 43 @@ -110,6 +111,8 @@ def consider_cli_args(args): 44 45 if args.log_file: 46 log.set_log_file(args.log_file) 47 + elif args.syslog: 48 + log.set_syslog(args.syslog) 49 if args.log_min_severity: 50 log.set_log_severity(args.log_min_severity) 51 if args.no_log: