Show
Ignore:
Timestamp:
09/21/05 22:43:01 (3 years ago)
Author:
docwhat
Message:

r1079@LC2000: docwhat | 2005-09-22T02:42:57.435573Z
Cleaned up logging

Location:
branches/refactor_testable
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • branches/refactor_testable/gdhost/server.py

    r58 r61  
    3131    def handle(self): 
    3232        protocol = self.server.protocol 
    33         log = self.server.log 
     33        client_ip = self.client_address[0] 
     34        def log( msg ): 
     35            self.server.log("%s: %s" % (client_ip, msg)) 
    3436 
    3537        try: 
     
    6264        # Autodetect ip, if not specified. 
    6365        if not ip: 
    64             ip = self.client_address[0] 
     66            ip = client_ip 
    6567                     
    6668        try: 
  • branches/refactor_testable/gdhostd

    r58 r61  
    2020## 
    2121 
    22 import sys, os, syslog 
     22import sys, os, syslog, signal 
    2323import gdhost.server as server 
    2424import gdhost.daemon as daemon 
     
    5252                  dest="config", default="/etc/gdhost/config", 
    5353                  help="Configuration File" ) 
     54parser.add_option( '-S', '--syslog', action="store_true", 
     55                   dest="syslog", default=False, 
     56                   help="Use Syslog to log events. This is forced to true if you run as a daemon." ) 
    5457 
    5558if '__main__' == __name__: 
    5659    options, commands = parser.parse_args() 
     60    progname = os.path.basename(sys.argv[0]) 
    5761 
    5862    if not os.path.exists(options.config): 
     
    6367        retCode = deamon.createDaemon() 
    6468 
    65     def str_logger( msg ): 
    66         if not msg.endswith('\n'): 
    67             msg += '\n' 
    68         sys.stdout.write( "LOG [%d]: %s" % (os.getpid(),msg) ) 
     69    if options.daemon or options.syslog: 
     70        def log_info(msg, pri = syslog.LOG_INFO): 
     71            syslog.openlog('%s[%d]' % ( progname, 
     72                                        os.getpid()), 0, syslog.LOG_DAEMON) 
     73            syslog.syslog(pri, msg) 
     74            syslog.closelog() 
     75    else: 
     76        def log_info( msg ): 
     77            sys.stdout.write( msg ) 
     78            if not msg.endswith('\n'): 
     79                sys.stdout.write( '\n' ) 
    6980 
    70     def sys_logger(msg, pri = syslog.LOG_INFO): 
    71         syslog.openlog('%s[%d]' % (os.path.basename(sys.argv[0]), os.getpid()), 0, syslog.LOG_DAEMON) 
    72         syslog.syslog(pri, msg) 
    73         syslog.closelog() 
     81    server = server.Server(options.config, 
     82                           log_info, 
     83                           debug=options.debug) 
    7484 
    75     def QuitMe(signum = None, frame = None): 
     85    def exitServer(signum = None, frame = None): 
    7686        "Quit nicely on the correct signal" 
    7787        server.log( "...Shutting down" ) 
    7888        sys.exit(0) 
    7989 
    80     import signal 
    81     server = server.Server(options.config,str_logger,debug=options.debug) 
    8290    server.log( "Starting..." ) 
    8391    signal.signal(signal.SIGHUP, server.reconfig) 
    84     signal.signal(signal.SIGINT, QuitMe) 
    85     signal.signal(signal.SIGTERM, QuitMe) 
     92    signal.signal(signal.SIGINT, exitServer) 
     93    signal.signal(signal.SIGTERM, exitServer) 
    8694 
    8795    server.serve_forever()