/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 Hogeborn
  • Date: 2011-10-22 00:46:35 UTC
  • mto: This revision was merged to the branch mainline in revision 519.
  • Revision ID: teddy@recompile.se-20111022004635-3hey47pvet46yccr
* Makefile (run-server): Remove obsolete warning.
* mandos: Clean up and demystify logging.  Add time stamp to console
          debug log messages.
  (AvahiServiceToSyslog): New; only to adjust syslog format.
  (AvahiService.rename): Don't touch syslog logger.
* mandos.xml (BUGS): Remove note about timestamps on console log.

Show diffs side-by-side

added added

removed removed

Lines of Context:
85
85
 
86
86
version = "1.4.1"
87
87
 
88
 
#logger = logging.getLogger('mandos')
89
 
logger = logging.Logger('mandos')
 
88
logger = logging.getLogger()
90
89
syslogger = (logging.handlers.SysLogHandler
91
90
             (facility = logging.handlers.SysLogHandler.LOG_DAEMON,
92
91
              address = str("/dev/log")))
96
95
logger.addHandler(syslogger)
97
96
 
98
97
console = logging.StreamHandler()
99
 
console.setFormatter(logging.Formatter('%(name)s [%(process)d]:'
 
98
console.setFormatter(logging.Formatter('%(asctime)s %(name)s'
 
99
                                       ' [%(process)d]:'
100
100
                                       ' %(levelname)s:'
101
101
                                       ' %(message)s'))
102
102
logger.addHandler(console)
103
103
 
 
104
 
104
105
class AvahiError(Exception):
105
106
    def __init__(self, value, *args, **kwargs):
106
107
        self.value = value
164
165
                            .GetAlternativeServiceName(self.name))
165
166
        logger.info("Changing Zeroconf service name to %r ...",
166
167
                    self.name)
167
 
        syslogger.setFormatter(logging.Formatter
168
 
                               ('Mandos (%s) [%%(process)d]:'
169
 
                                ' %%(levelname)s: %%(message)s'
170
 
                                % self.name))
171
168
        self.remove()
172
169
        try:
173
170
            self.add()
193
190
                avahi.DBUS_INTERFACE_ENTRY_GROUP)
194
191
        self.entry_group_state_changed_match = (
195
192
            self.group.connect_to_signal(
196
 
                'StateChanged', self .entry_group_state_changed))
 
193
                'StateChanged', self.entry_group_state_changed))
197
194
        logger.debug("Adding Zeroconf service '%s' of type '%s' ...",
198
195
                     self.name, self.type)
199
196
        self.group.AddService(
265
262
                                 self.server_state_changed)
266
263
        self.server_state_changed(self.server.GetState())
267
264
 
 
265
class AvahiServiceToSyslog(AvahiService):
 
266
    def rename(self):
 
267
        """Add the new name to the syslog messages"""
 
268
        ret = AvahiService.rename(self)
 
269
        syslogger.setFormatter(logging.Formatter
 
270
                               ('Mandos (%s) [%%(process)d]:'
 
271
                                ' %%(levelname)s: %%(message)s'
 
272
                                % self.name))
 
273
        return ret
268
274
 
269
275
def _timedelta_to_milliseconds(td):
270
276
    "Convert a datetime.timedelta() to milliseconds"
1970
1976
            raise error
1971
1977
    
1972
1978
    if not debug and not debuglevel:
1973
 
        syslogger.setLevel(logging.WARNING)
1974
 
        console.setLevel(logging.WARNING)
 
1979
        logger.setLevel(logging.WARNING)
1975
1980
    if debuglevel:
1976
1981
        level = getattr(logging, debuglevel.upper())
1977
 
        syslogger.setLevel(level)
1978
 
        console.setLevel(level)
 
1982
        logger.setLevel(level)
1979
1983
    
1980
1984
    if debug:
 
1985
        logger.setLevel(logging.DEBUG)
1981
1986
        # Enable all possible GnuTLS debugging
1982
1987
        
1983
1988
        # "Use a log level over 10 to enable all debugging options."
2024
2029
            server_settings["use_dbus"] = False
2025
2030
            tcp_server.use_dbus = False
2026
2031
    protocol = avahi.PROTO_INET6 if use_ipv6 else avahi.PROTO_INET
2027
 
    service = AvahiService(name = server_settings["servicename"],
2028
 
                           servicetype = "_mandos._tcp",
2029
 
                           protocol = protocol, bus = bus)
 
2032
    service = AvahiServiceToSyslog(name =
 
2033
                                   server_settings["servicename"],
 
2034
                                   servicetype = "_mandos._tcp",
 
2035
                                   protocol = protocol, bus = bus)
2030
2036
    if server_settings["interface"]:
2031
2037
        service.interface = (if_nametoindex
2032
2038
                             (str(server_settings["interface"])))