Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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)