def init_logger(): import os from tools.translate import resetlocale resetlocale() logger = logging.getLogger() # create a format for log messages and dates formatter = logging.Formatter('[%(asctime)s] %(levelname)s:%(name)s:%(message)s') logging_to_stdout = False if tools.config['syslog']: # SysLog Handler if os.name == 'nt': handler = logging.handlers.NTEventLogHandler("%s %s" % (release.description, release.version)) else: handler = logging.handlers.SysLogHandler('/dev/log') formatter = logging.Formatter("%s %s" % (release.description, release.version) + ':%(levelname)s:%(name)s:%(message)s') elif tools.config['logfile']: # LogFile Handler logf = tools.config['logfile'] try: dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) handler = logging.handlers.TimedRotatingFileHandler(logf,'D',1,30) except Exception, ex: sys.stderr.write("ERROR: couldn't create the logfile directory. Logging to the standard output.\n") handler = logging.StreamHandler(sys.stdout) logging_to_stdout = True
def init_logger(): from tools.translate import resetlocale resetlocale() if tools.config.get_misc('debug', 'compat_logger', False): logging.setLoggerClass(Logger_compat) elif tools.config.get_misc('debug', 'log_dbname', False): logging.setLoggerClass(Logger_db) logger = logging.getLogger() # create a format for log messages and dates format = '[%(asctime)s] %(levelname)s:%(name)s%(at_dbname)s:%(message)s' if tools.config['syslog']: # SysLog Handler if os.name == 'nt': handler = logging.handlers.NTEventLogHandler( "%s %s" % (release.description, release.version)) else: handler = logging.handlers.SysLogHandler('/dev/log') format = '%s %s' % (release.description, release.version) \ + ':%(levelname)s:%(name)s:%(message)s' elif tools.config['logfile']: # LogFile Handler logf = tools.config['logfile'] try: dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config['logrotate'] is not False: handler = logging.handlers.TimedRotatingFileHandler( logf, 'D', 1, 30) elif os.name == 'posix': handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.handlers.FileHandler(logf) except Exception: sys.stderr.write( "ERROR: couldn't create the logfile directory. Logging to the standard output.\n" ) handler = logging.StreamHandler(sys.stdout) else: # Normal Handler on standard output handler = logging.StreamHandler(sys.stdout) if isinstance(handler, logging.StreamHandler) and os.isatty( handler.stream.fileno()): formatter = ColoredFormatter(format, '%Y-%m-%d %H:%M:%S') else: formatter = DBFormatter(format, '%Y-%m-%d %H:%M:%S') handler.setFormatter(formatter) # add the handler to the root logger logger.addHandler(handler) logger.setLevel(int(tools.config['log_level'] or '0'))
def init_logger(): from tools.translate import resetlocale resetlocale() # create a format for log messages and dates format = '[%(asctime)s][%(dbname)s] %(levelname)s:%(name)s:%(message)s' if tools.config['syslog']: # SysLog Handler if os.name == 'nt': handler = logging.handlers.NTEventLogHandler("%s %s" % (release.description, release.version)) else: handler = logging.handlers.SysLogHandler('/dev/log') format = '%s %s' % (release.description, release.version) \ + ':%(dbname)s:%(levelname)s:%(name)s:%(message)s' elif tools.config['logfile']: # LogFile Handler logf = tools.config['logfile'] try: dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config['logrotate'] is not False: handler = logging.handlers.TimedRotatingFileHandler(logf,'D',1,30) elif os.name == 'posix': handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.handlers.FileHandler(logf) except Exception: sys.stderr.write("ERROR: couldn't create the logfile directory. Logging to the standard output.\n") handler = logging.StreamHandler(sys.stdout) else: # Normal Handler on standard output handler = logging.StreamHandler(sys.stdout) if isinstance(handler, logging.StreamHandler) and os.isatty(handler.stream.fileno()): formatter = ColoredFormatter(format) else: formatter = DBFormatter(format) handler.setFormatter(formatter) # add the handler to the root logger logger = logging.getLogger() logger.handlers = [] logger.addHandler(handler) logger.setLevel(int(tools.config['log_level'] or '0'))
def init_logger(): import os from tools.translate import resetlocale resetlocale() logger = logging.getLogger() # create a format for log messages and dates format = '[%(asctime)s] %(levelname)s:%(name)s:%(message)s' if tools.config['syslog']: # SysLog Handler if os.name == 'nt': handler = logging.handlers.NTEventLogHandler( "%s %s" % (release.description, release.version)) else: handler = logging.handlers.SysLogHandler('/dev/log') format = '%s %s' % (release.description, release.version) \ + ':%(levelname)s:%(name)s:%(message)s' elif tools.config['logfile']: # LogFile Handler logf = tools.config['logfile'] try: dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config['logrotate'] is not False: handler = logging.handlers.TimedRotatingFileHandler( logf, 'D', 1, 30) elif os.name == 'posix': handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.handlers.FileHandler(logf) except Exception, ex: sys.stderr.write( "ERROR: couldn't create the logfile directory. Logging to the standard output.\n" ) handler = logging.StreamHandler(sys.stdout)
def init_logger(): from tools.translate import resetlocale resetlocale() # create a format for log messages and dates format = '%(asctime)s %(pid)s %(levelname)s %(dbname)s %(name)s: %(message)s' if tools.config['syslog']: # SysLog Handler if os.name == 'nt': handler = logging.handlers.NTEventLogHandler("%s %s" % (release.description, release.version)) else: handler = logging.handlers.SysLogHandler('/dev/log') format = '%s %s' % (release.description, release.version) \ + ':%(dbname)s:%(levelname)s:%(name)s:%(message)s' elif tools.config['logfile']: # LogFile Handler logf = tools.config['logfile'] try: dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config['logrotate'] is not False: handler = logging.handlers.TimedRotatingFileHandler(logf,'D',1,30) elif os.name == 'posix': handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.handlers.FileHandler(logf) except Exception: sys.stderr.write("ERROR: couldn't create the logfile directory. Logging to the standard output.\n") handler = logging.StreamHandler(sys.stdout) else: # Normal Handler on standard output handler = logging.StreamHandler(sys.stdout) if isinstance(handler, logging.StreamHandler) and os.isatty(handler.stream.fileno()): formatter = ColoredFormatter(format) else: formatter = DBFormatter(format) handler.setFormatter(formatter) # Configure handlers default_config = [ 'openerp.netsvc.rpc.request:INFO', 'openerp.netsvc.rpc.response:INFO', 'openerp.addons.web.http:INFO', 'openerp.sql_db:INFO', ':INFO', ] if tools.config['log_level'] == 'info': pseudo_config = [] elif tools.config['log_level'] == 'debug_rpc': pseudo_config = ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG'] elif tools.config['log_level'] == 'debug_rpc_answer': pseudo_config = ['openerp:DEBUG','openerp.netsvc.rpc.request:DEBUG', 'openerp.netsvc.rpc.response:DEBUG'] elif tools.config['log_level'] == 'debug': pseudo_config = ['openerp:DEBUG'] elif tools.config['log_level'] == 'test': pseudo_config = ['openerp:TEST'] elif tools.config['log_level'] == 'warn': pseudo_config = ['openerp:WARNING'] elif tools.config['log_level'] == 'error': pseudo_config = ['openerp:ERROR'] elif tools.config['log_level'] == 'critical': pseudo_config = ['openerp:CRITICAL'] elif tools.config['log_level'] == 'debug_sql': pseudo_config = ['openerp.sql_db:DEBUG'] else: pseudo_config = [] logconfig = tools.config['log_handler'] for logconfig_item in default_config + pseudo_config + logconfig: loggername, level = logconfig_item.split(':') level = getattr(logging, level, logging.INFO) logger = logging.getLogger(loggername) logger.handlers = [] logger.setLevel(level) logger.addHandler(handler) if loggername != '': logger.propagate = False for logconfig_item in default_config + pseudo_config + logconfig: _logger.debug('logger level set: "%s"', logconfig_item)
def init_logger(): global _logger_init if _logger_init: return _logger_init = True logging.addLevelName(25, "INFO") from tools.translate import resetlocale resetlocale() # create a format for log messages and dates format = '%(asctime)s %(pid)s %(levelname)s %(dbname)s %(name)s: %(message)s' if tools.config['syslog']: # SysLog Handler if os.name == 'nt': handler = logging.handlers.NTEventLogHandler( "%s %s" % (release.description, release.version)) elif platform.system() == 'Darwin': handler = logging.handlers.SysLogHandler('/var/run/log') else: handler = logging.handlers.SysLogHandler('/dev/log') format = '%s %s' % (release.description, release.version) \ + ':%(dbname)s:%(levelname)s:%(name)s:%(message)s' elif tools.config['logfile']: # LogFile Handler logf = tools.config['logfile'] try: # We check we have the right location for the log files dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config['logrotate'] is not False: handler = logging.handlers.TimedRotatingFileHandler( filename=logf, when='D', interval=1, backupCount=30) elif os.name == 'posix': handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.FileHandler(logf) except Exception: sys.stderr.write( "ERROR: couldn't create the logfile directory. Logging to the standard output.\n" ) handler = logging.StreamHandler(sys.stdout) else: # Normal Handler on standard output handler = logging.StreamHandler(sys.stdout) # Check that handler.stream has a fileno() method: when running OpenERP # behind Apache with mod_wsgi, handler.stream will have type mod_wsgi.Log, # which has no fileno() method. (mod_wsgi.Log is what is being bound to # sys.stderr when the logging.StreamHandler is being constructed above.) def is_a_tty(stream): return hasattr(stream, 'fileno') and os.isatty(stream.fileno()) if os.name == 'posix' and isinstance( handler, logging.StreamHandler) and is_a_tty(handler.stream): formatter = ColoredFormatter(format) else: formatter = DBFormatter(format) handler.setFormatter(formatter) logging.getLogger().addHandler(handler) if tools.config['log_db']: db_levels = { 'debug': logging.DEBUG, 'info': logging.INFO, 'warning': logging.WARNING, 'error': logging.ERROR, 'critical': logging.CRITICAL, } postgresqlHandler = PostgreSQLHandler() postgresqlHandler.setLevel( int( db_levels.get(tools.config['log_db_level'], tools.config['log_db_level']))) logging.getLogger().addHandler(postgresqlHandler) # Configure loggers levels pseudo_config = PSEUDOCONFIG_MAPPER.get(tools.config['log_level'], []) logconfig = tools.config['log_handler'] logging_configurations = DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig for logconfig_item in logging_configurations: loggername, level = logconfig_item.split(':') level = getattr(logging, level, logging.INFO) logger = logging.getLogger(loggername) logger.setLevel(level) for logconfig_item in logging_configurations: _logger.debug('logger level set: "%s"', logconfig_item)
def init_logger(): global _logger_init if _logger_init: return _logger_init = True from tools.translate import resetlocale resetlocale() # create a format for log messages and dates format = '%(asctime)s %(pid)s %(levelname)s %(dbname)s %(name)s: %(message)s' if tools.config['syslog']: # SysLog Handler if os.name == 'nt': handler = logging.handlers.NTEventLogHandler("%s %s" % (release.description, release.version)) else: handler = logging.handlers.SysLogHandler() format = '%s %s' % (release.description, release.version) \ + ':%(dbname)s:%(levelname)s:%(name)s:%(message)s' elif tools.config['logfile']: # LogFile Handler logf = tools.config['logfile'] try: # We check we have the right location for the log files dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config['logrotate'] is not False: handler = logging.handlers.TimedRotatingFileHandler(filename=logf, when='D', interval=1, backupCount=30) elif os.name == 'posix': handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.handlers.FileHandler(logf) except Exception: sys.stderr.write("ERROR: couldn't create the logfile directory. Logging to the standard output.\n") handler = logging.StreamHandler(sys.stdout) else: # Normal Handler on standard output handler = logging.StreamHandler(sys.stdout) # Check that handler.stream has a fileno() method: when running OpenERP # behind Apache with mod_wsgi, handler.stream will have type mod_wsgi.Log, # which has no fileno() method. (mod_wsgi.Log is what is being bound to # sys.stderr when the logging.StreamHandler is being constructed above.) def is_a_tty(stream): return hasattr(stream, 'fileno') and os.isatty(stream.fileno()) if isinstance(handler, logging.StreamHandler) and is_a_tty(handler.stream): formatter = ColoredFormatter(format) else: formatter = DBFormatter(format) handler.setFormatter(formatter) logging.getLogger().addHandler(handler) if tools.config['log_db']: postgresqlHandler = PostgreSQLHandler() postgresqlHandler.setLevel(logging.WARNING) logging.getLogger().addHandler(postgresqlHandler) # Configure loggers levels pseudo_config = PSEUDOCONFIG_MAPPER.get(tools.config['log_level'], []) logconfig = tools.config['log_handler'] logging_configurations = DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig for logconfig_item in logging_configurations: loggername, level = logconfig_item.split(':') level = getattr(logging, level, logging.INFO) logger = logging.getLogger(loggername) logger.setLevel(level) for logconfig_item in logging_configurations: _logger.debug('logger level set: "%s"', logconfig_item)
def init_logger(): from tools.translate import resetlocale resetlocale() # create a format for log messages and dates format = '%(asctime)s %(pid)s %(levelname)s %(dbname)s %(name)s: %(message)s' if tools.config['syslog']: # SysLog Handler if os.name == 'nt': handler = logging.handlers.NTEventLogHandler( "%s %s" % (release.description, release.version)) else: handler = logging.handlers.SysLogHandler('/dev/log') format = '%s %s' % (release.description, release.version) \ + ':%(dbname)s:%(levelname)s:%(name)s:%(message)s' elif tools.config['logfile']: # LogFile Handler logf = tools.config['logfile'] try: dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config['logrotate'] is not False: handler = logging.handlers.TimedRotatingFileHandler( logf, 'D', 1, 30) elif os.name == 'posix': handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.handlers.FileHandler(logf) except Exception: sys.stderr.write( "ERROR: couldn't create the logfile directory. Logging to the standard output.\n" ) handler = logging.StreamHandler(sys.stdout) else: # Normal Handler on standard output handler = logging.StreamHandler(sys.stdout) # Check that handler.stream has a fileno() method: when running OpenERP # behind Apache with mod_wsgi, handler.stream will have type mod_wsgi.Log, # which has no fileno() method. (mod_wsgi.Log is what is being bound to # sys.stderr when the logging.StreamHandler is being constructed above.) if isinstance(handler, logging.StreamHandler) \ and hasattr(handler.stream, 'fileno') \ and os.isatty(handler.stream.fileno()): formatter = ColoredFormatter(format) else: formatter = DBFormatter(format) handler.setFormatter(formatter) # Configure handlers pseudo_config = PSEUDOCONFIG_MAPPER.get(tools.config['log_level'], []) logconfig = tools.config['log_handler'] logging_configurations = DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig for logconfig_item in logging_configurations: loggername, level = logconfig_item.split(':') level = getattr(logging, level, logging.INFO) logger = logging.getLogger(loggername) logger.handlers = [] logger.setLevel(level) logger.addHandler(handler) if loggername != '': logger.propagate = False for logconfig_item in logging_configurations: _logger.debug('logger level set: "%s"', logconfig_item)
def init_logger(): global _logger_init if _logger_init: return _logger_init = True logging.addLevelName(25, "INFO") from tools.translate import resetlocale resetlocale() # create a format for log messages and dates format = "%(asctime)s %(pid)s %(levelname)s %(dbname)s %(name)s: %(message)s" # Normal Handler on stderr handler = logging.StreamHandler() if tools.config["syslog"]: # SysLog Handler if os.name == "nt": handler = logging.handlers.NTEventLogHandler("%s %s" % (release.description, release.version)) elif platform.system() == "Darwin": handler = logging.handlers.SysLogHandler("/var/run/log") else: handler = logging.handlers.SysLogHandler("/dev/log") format = "%s %s" % (release.description, release.version) + ":%(dbname)s:%(levelname)s:%(name)s:%(message)s" elif tools.config["logfile"]: # LogFile Handler logf = tools.config["logfile"] try: # We check we have the right location for the log files dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config["logrotate"] is not False: handler = logging.handlers.TimedRotatingFileHandler(filename=logf, when="D", interval=1, backupCount=30) elif os.name == "posix": handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.FileHandler(logf) except Exception: sys.stderr.write("ERROR: couldn't create the logfile directory. Logging to the standard output.\n") # Check that handler.stream has a fileno() method: when running OpenERP # behind Apache with mod_wsgi, handler.stream will have type mod_wsgi.Log, # which has no fileno() method. (mod_wsgi.Log is what is being bound to # sys.stderr when the logging.StreamHandler is being constructed above.) def is_a_tty(stream): return hasattr(stream, "fileno") and os.isatty(stream.fileno()) if os.name == "posix" and isinstance(handler, logging.StreamHandler) and is_a_tty(handler.stream): formatter = ColoredFormatter(format) else: formatter = DBFormatter(format) handler.setFormatter(formatter) logging.getLogger().addHandler(handler) if tools.config["log_db"]: db_levels = { "debug": logging.DEBUG, "info": logging.INFO, "warning": logging.WARNING, "error": logging.ERROR, "critical": logging.CRITICAL, } postgresqlHandler = PostgreSQLHandler() postgresqlHandler.setLevel(int(db_levels.get(tools.config["log_db_level"], tools.config["log_db_level"]))) logging.getLogger().addHandler(postgresqlHandler) # Configure loggers levels pseudo_config = PSEUDOCONFIG_MAPPER.get(tools.config["log_level"], []) logconfig = tools.config["log_handler"] logging_configurations = DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig for logconfig_item in logging_configurations: loggername, level = logconfig_item.split(":") level = getattr(logging, level, logging.INFO) logger = logging.getLogger(loggername) logger.setLevel(level) for logconfig_item in logging_configurations: _logger.debug('logger level set: "%s"', logconfig_item)
def init_logger(): from tools.translate import resetlocale resetlocale() # create a format for log messages and dates format = "%(asctime)s %(pid)s %(levelname)s %(dbname)s %(name)s: %(message)s" if tools.config["syslog"]: # SysLog Handler if os.name == "nt": handler = logging.handlers.NTEventLogHandler("%s %s" % (release.description, release.version)) else: handler = logging.handlers.SysLogHandler("/dev/log") format = "%s %s" % (release.description, release.version) + ":%(dbname)s:%(levelname)s:%(name)s:%(message)s" elif tools.config["logfile"]: # LogFile Handler logf = tools.config["logfile"] try: dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config["logrotate"] is not False: handler = logging.handlers.TimedRotatingFileHandler(logf, "D", 1, 30) elif os.name == "posix": handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.handlers.FileHandler(logf) except Exception: sys.stderr.write("ERROR: couldn't create the logfile directory. Logging to the standard output.\n") handler = logging.StreamHandler(sys.stdout) else: # Normal Handler on standard output handler = logging.StreamHandler(sys.stdout) if isinstance(handler, logging.StreamHandler) and os.isatty(handler.stream.fileno()): formatter = ColoredFormatter(format) else: formatter = DBFormatter(format) handler.setFormatter(formatter) # Configure handlers default_config = [ "openerp.netsvc.rpc.request:INFO", "openerp.netsvc.rpc.response:INFO", "openerp.addons.web.http:INFO", "openerp.sql_db:INFO", ":INFO", ] if tools.config["log_level"] == "info": pseudo_config = [] elif tools.config["log_level"] == "debug_rpc": pseudo_config = ["openerp:DEBUG", "openerp.netsvc.rpc.request:DEBUG"] elif tools.config["log_level"] == "debug_rpc_answer": pseudo_config = ["openerp:DEBUG", "openerp.netsvc.rpc.request:DEBUG", "openerp.netsvc.rpc.response:DEBUG"] elif tools.config["log_level"] == "debug": pseudo_config = ["openerp:DEBUG"] elif tools.config["log_level"] == "test": pseudo_config = ["openerp:TEST"] elif tools.config["log_level"] == "warn": pseudo_config = ["openerp:WARNING"] elif tools.config["log_level"] == "error": pseudo_config = ["openerp:ERROR"] elif tools.config["log_level"] == "critical": pseudo_config = ["openerp:CRITICAL"] elif tools.config["log_level"] == "debug_sql": pseudo_config = ["openerp.sql_db:DEBUG"] else: pseudo_config = [] logconfig = tools.config["log_handler"] for logconfig_item in default_config + pseudo_config + logconfig: loggername, level = logconfig_item.split(":") level = getattr(logging, level, logging.INFO) logger = logging.getLogger(loggername) logger.handlers = [] logger.setLevel(level) logger.addHandler(handler) if loggername != "": logger.propagate = False for logconfig_item in default_config + pseudo_config + logconfig: _logger.debug('logger level set: "%s"', logconfig_item)
def init_logger(): from tools.translate import resetlocale resetlocale() # create a format for log messages and dates format = "%(asctime)s %(pid)s %(levelname)s %(dbname)s %(name)s: %(message)s" if tools.config["syslog"]: # SysLog Handler if os.name == "nt": handler = logging.handlers.NTEventLogHandler("%s %s" % (release.description, release.version)) else: handler = logging.handlers.SysLogHandler("/dev/log") format = "%s %s" % (release.description, release.version) + ":%(dbname)s:%(levelname)s:%(name)s:%(message)s" elif tools.config["logfile"]: # LogFile Handler logf = tools.config["logfile"] try: dirname = os.path.dirname(logf) if dirname and not os.path.isdir(dirname): os.makedirs(dirname) if tools.config["logrotate"] is not False: handler = logging.handlers.TimedRotatingFileHandler(logf, "D", 1, 30) elif os.name == "posix": handler = logging.handlers.WatchedFileHandler(logf) else: handler = logging.handlers.FileHandler(logf) except Exception: sys.stderr.write("ERROR: couldn't create the logfile directory. Logging to the standard output.\n") handler = logging.StreamHandler(sys.stdout) else: # Normal Handler on standard output handler = logging.StreamHandler(sys.stdout) # Check that handler.stream has a fileno() method: when running OpenERP # behind Apache with mod_wsgi, handler.stream will have type mod_wsgi.Log, # which has no fileno() method. (mod_wsgi.Log is what is being bound to # sys.stderr when the logging.StreamHandler is being constructed above.) if ( isinstance(handler, logging.StreamHandler) and hasattr(handler.stream, "fileno") and os.isatty(handler.stream.fileno()) ): formatter = ColoredFormatter(format) else: formatter = DBFormatter(format) handler.setFormatter(formatter) # Configure handlers pseudo_config = PSEUDOCONFIG_MAPPER.get(tools.config["log_level"], []) logconfig = tools.config["log_handler"] logging_configurations = DEFAULT_LOG_CONFIGURATION + pseudo_config + logconfig for logconfig_item in logging_configurations: loggername, level = logconfig_item.split(":") level = getattr(logging, level, logging.INFO) logger = logging.getLogger(loggername) logger.handlers = [] logger.setLevel(level) logger.addHandler(handler) if loggername != "": logger.propagate = False for logconfig_item in logging_configurations: _logger.debug('logger level set: "%s"', logconfig_item)