/mandos/trunk

To get this branch, use:
bzr branch http://bzr.recompile.se/loggerhead/mandos/trunk

« back to all changes in this revision

Viewing changes to mandos

  • Committer: teddy at bsnet
  • Date: 2011-12-23 20:00:52 UTC
  • Revision ID: teddy@fukt.bsnet.se-20111223200052-nehnjfy0fogvm4ii
* mandos (initlogger): Take new "debug" argument; all callers changed.
                       Only add console logger in debug mode.
  (main/cleanup): Remove temp file on failure.

Show diffs side-by-side

added added

removed removed

Lines of Context:
110
110
        return interface_index
111
111
 
112
112
 
113
 
def initlogger(level=logging.WARNING):
 
113
def initlogger(debug, level=logging.WARNING):
114
114
    """init logger and add loglevel"""
115
115
    
116
116
    syslogger.setFormatter(logging.Formatter
118
118
                            ' %(message)s'))
119
119
    logger.addHandler(syslogger)
120
120
    
121
 
    console = logging.StreamHandler()
122
 
    console.setFormatter(logging.Formatter('%(asctime)s %(name)s'
123
 
                                           ' [%(process)d]:'
124
 
                                           ' %(levelname)s:'
125
 
                                           ' %(message)s'))
126
 
    logger.addHandler(console)
 
121
    if debug:
 
122
        console = logging.StreamHandler()
 
123
        console.setFormatter(logging.Formatter('%(asctime)s %(name)s'
 
124
                                               ' [%(process)d]:'
 
125
                                               ' %(levelname)s:'
 
126
                                               ' %(message)s'))
 
127
        logger.addHandler(console)
127
128
    logger.setLevel(level)
128
129
 
129
130
 
2078
2079
                                     stored_state_file)
2079
2080
    
2080
2081
    if debug:
2081
 
        initlogger(logging.DEBUG)
 
2082
        initlogger(debug, logging.DEBUG)
2082
2083
    else:
2083
2084
        if not debuglevel:
2084
 
            initlogger()
 
2085
            initlogger(debug)
2085
2086
        else:
2086
2087
            level = getattr(logging, debuglevel.upper())
2087
 
            initlogger(level)
 
2088
            initlogger(debug, level)
2088
2089
    
2089
2090
    if server_settings["servicename"] != "Mandos":
2090
2091
        syslogger.setFormatter(logging.Formatter
2156
2157
        os.dup2(null, sys.stdin.fileno())
2157
2158
        if null > 2:
2158
2159
            os.close(null)
2159
 
    else:
2160
 
        # No console logging
2161
 
        logger.removeHandler(console)
2162
2160
    
2163
2161
    # Need to fork before connecting to D-Bus
2164
2162
    if not debug:
2415
2413
        except (IOError, OSError) as e:
2416
2414
            logger.warning("Could not save persistent state: {0}"
2417
2415
                           .format(e))
 
2416
            if not debug:
 
2417
                try:
 
2418
                    os.remove(tempname)
 
2419
                except NameError:
 
2420
                    pass
2418
2421
            if e.errno not in set((errno.ENOENT, errno.EACCES,
2419
2422
                                   errno.EEXIST)):
2420
 
                raise
 
2423
                raise e
2421
2424
        
2422
2425
        # Delete all clients, and settings from config
2423
2426
        while tcp_server.clients: