~bzr/loggerhead/daily-ppa

« back to all changes in this revision

Viewing changes to loggerhead/main.py

  • Committer: Max Bowsher
  • Date: 2011-03-17 08:33:16 UTC
  • mfrom: (182.150.20 trunk-rich)
  • Revision ID: maxb@f2s.com-20110317083316-n5nq18tsaaxkskut
Merge trunk.

Show diffs side-by-side

added added

removed removed

Lines of Context:
56
56
    return config, base
57
57
 
58
58
 
59
 
def setup_logging(config):
60
 
    logging.basicConfig()
61
 
    logging.getLogger('').setLevel(logging.DEBUG)
 
59
def setup_logging(config, init_logging=True, log_file=None):
 
60
    log_level = config.get_log_level()
 
61
    if init_logging:
 
62
        logging.basicConfig()
 
63
        if log_level is not None:
 
64
            logging.getLogger('').setLevel(log_level)
62
65
    logger = logging.getLogger('loggerhead')
63
 
    if config.get_option('log_folder'):
64
 
        logfile_path = os.path.join(
65
 
            config.get_option('log_folder'), 'serve-branches.log')
 
66
    if log_level is not None:
 
67
        logger.setLevel(log_level)
 
68
    if log_file is not None:
 
69
        handler = logging.StreamHandler(log_file)
66
70
    else:
67
 
        logfile_path = 'serve-branches.log'
68
 
    logfile = logging.FileHandler(logfile_path, 'a')
69
 
    formatter = logging.Formatter('%(asctime)s %(levelname)-8s %(name)s:'
70
 
                                  ' %(message)s')
71
 
    logfile.setFormatter(formatter)
72
 
    logfile.setLevel(logging.DEBUG)
73
 
    logger.addHandler(logfile)
 
71
        if config.get_option('log_folder'):
 
72
            logfile_path = os.path.join(
 
73
                config.get_option('log_folder'), 'serve-branches.log')
 
74
        else:
 
75
            logfile_path = 'serve-branches.log'
 
76
        handler = logging.FileHandler(logfile_path, 'a')
 
77
        formatter = logging.Formatter('%(asctime)s %(levelname)-8s %(name)s:'
 
78
                                      ' %(message)s')
 
79
        handler.setFormatter(formatter)
 
80
    # We set the handler to accept all messages, the *logger* won't emit them
 
81
    # if it is configured to suppress it
 
82
    handler.setLevel(logging.DEBUG)
 
83
    logger.addHandler(handler)
 
84
    def _restrict_logging(logger_name):
 
85
        logger = logging.getLogger(logger_name)
 
86
        if logger.getEffectiveLevel() < logging.INFO:
 
87
            logger.setLevel(logging.INFO)
 
88
    # simpleTAL is *very* verbose in DEBUG mode, which is otherwise the
 
89
    # default. So quiet it up a bit.
 
90
    _restrict_logging('simpleTAL')
 
91
    _restrict_logging('simpleTALES')
74
92
    return logger
75
93
 
76
94