X-Git-Url: https://git.ucc.asn.au/?p=uccvend-vendserver.git;a=blobdiff_plain;f=sql-edition%2Fservers%2FVendServer.py;h=6e870ff7d84727f0e6a885a4c0499b10de4bbdbf;hp=9e1ba7a5a214d616569c3861c73e28205e9dcd4d;hb=66518c6317986e5f0d41559c75e4038faee5f411;hpb=c12293f58090240a7cdd695c8e3ceeabe9e7f0fe;ds=sidebyside diff --git a/sql-edition/servers/VendServer.py b/sql-edition/servers/VendServer.py index 9e1ba7a..6e870ff 100755 --- a/sql-edition/servers/VendServer.py +++ b/sql-edition/servers/VendServer.py @@ -5,7 +5,7 @@ USE_DB = 0 import ConfigParser import sys, os, string, re, pwd, signal -import logging +import logging, logging.handlers from traceback import format_tb if USE_DB: import pg from time import time, sleep @@ -442,7 +442,8 @@ def create_pid_file(name): logging.warning('unable to write to pid file '+name+': '+str(e)) def set_stuff_up(): - def do_nothing(signum, stack): pass + def do_nothing(signum, stack): + signal.signal(signum, do_nothing) def stop_server(signum, stack): raise KeyboardInterrupt signal.signal(signal.SIGHUP, do_nothing) signal.signal(signal.SIGTERM, stop_server) @@ -450,8 +451,8 @@ def set_stuff_up(): options = parse_args() config_opts = VendConfigFile(options.config_file, config_options) - set_up_logging(options) if options.daemon: become_daemon() + set_up_logging(options) if options.pid_file != '': create_pid_file(options.pid_file) return options, config_opts @@ -477,12 +478,16 @@ def set_up_logging(options): logger.addHandler(file_logger) except IOError, e: logger.warning('unable to write to log file '+options.log_file+': '+str(e)) + + if options.syslog: + sys_logger = logging.handlers.SysLogHandler('/dev/log', 'daemon') + sys_logger.setFormatter(logging.Formatter('vendserver[%d]'%(os.getpid()) + ' %(levelname)s: %(message)s')) + logger.addHandler(sys_logger) if options.verbose: logger.setLevel(logging.DEBUG) else: logger.setLevel(logging.INFO) - def become_daemon(): dev_null = file('/dev/null')