def setup_logging(options): if options.debug: level = DEBUG elif options.verbose: level = INFO else: level = ERROR logger = getLogger() logger.setLevel(level) formatter = createColoredFormatter(stdout, display_date=options.debug) handler = StreamHandler(stdout) handler.setLevel(level) handler.setFormatter(formatter) logger.addHandler(handler)
def setupLog(core): # Read the configuration (filename and log levels) use_stdout = core.config.getboolean("log", "use_stdout") stdout_level = core.conf_get_var_or_default("log", "stdout_level", "ERROR") file_level = core.conf_get_var_or_default("log", "file_level", "INFO") file_level = getLogLevel(file_level) print_level = core.conf_get_var_or_default("log", "print_level", "DEBUG") print_level = getLogLevel(print_level) filename = core.conf_get_var_or_default("log", "filename", "ufwi-rpcd.log") if use_stdout: stdout_level = getLogLevel(stdout_level) level = min(file_level, stdout_level) else: level = file_level # Get the root logger and remove all existing loggers for handler in core.logger.handlers: core.logger.removeHandler(handler) core.logger.setLevel(level) # Create the stdout logger if use_stdout: handler = StreamHandler(stdout) formatter = createColoredFormatter(stdout, display_date=False) handler.setFormatter(formatter) core.addLogHandler(handler, stdout_level) # Create the file logger umask(0077) handler = RotatingFileHandler(filename, 'a', maxBytes=MAX_LOG_FILESIZE, backupCount=(MAX_LOG_FILES - 1), encoding='utf8') handler.setFormatter(PrefixFormatter(display_date=True)) core.addLogHandler(handler, file_level) # Create a logger for Twisted errors core.twisted_logger = TwistedLogger(print_level) twisted_python_log.addObserver(core.twisted_logger.log)