1
'''Logging utilities for Tarmac.'''
7
from tarmac.config import TarmacConfig
10
def ensure_log_dir(log_file):
13
log_dir = os.path.dirname(log_file)
17
# If the directory already exists, just pass. Otherwise, log to stderr
18
# because we probably can't write to the actual log file.
19
if getattr(e, 'errno', None) != errno.EEXIST:
20
err_msg = "Failed to create logging directory: %s\n%s\n" % (
22
sys.stderr.write(err_msg)
25
def set_up_logging(config=None):
27
config = TarmacConfig()
30
logger = logging.getLogger('tarmac')
31
logger.setLevel(logging.DEBUG)
33
log_file = config.get('Tarmac', 'log_file')
34
ensure_log_dir(log_file)
35
file_handler = logging.FileHandler(filename=log_file)
36
file_handler.setLevel(logging.INFO)
37
file_handler.setFormatter(
38
logging.Formatter('%(asctime)s %(levelname)-8s %(message)s',
40
logger.addHandler(file_handler)
41
logger.debug('Logging to %(logfile)s' % {'logfile': log_file})
43
# Handle logging for 'bzr' logger
44
bzr_logger = logging.getLogger('bzr')
45
bzr_logger.setLevel(logging.INFO)
46
bzr_logger.addHandler(file_handler)
49
def set_up_debug_logging():
50
logger = logging.getLogger('tarmac')
51
stderr_handler = logging.StreamHandler(sys.stderr)
52
stderr_handler.setLevel(logging.DEBUG)
53
logger.addHandler(stderr_handler)