Newer
Older
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# Copyright (c) 2019 Shoulin Wei
#
# This file is part of CSST.
# coding: utf-8
import logging
import logging.handlers
def setup_logging():
""" Setup logging configuration """
cfmt = logging.Formatter(('%(asctime)s- %(name)s - %(filename)s - %(levelname)s - %(message)s'))
ffmt = logging.Formatter(('%(asctime)s - %(filename)s - %(levelname)s - %(message)s'))
# Console handler
ch = logging.StreamHandler()
ch.setLevel(logging.INFO)
ch.setFormatter(cfmt)
logs_dir = os.getenv("CSST_DFS_LOGS_DIR", "logs")
if not os.path.exists(logs_dir):
os.makedirs(logs_dir)
fh = logging.handlers.RotatingFileHandler(os.path.join(logs_dir, 'csst_dfs.log'),
maxBytes=10*1024*1024, backupCount=10)
fh.setLevel(logging.INFO)
fh.setFormatter(ffmt)
# Create the logger,
# adding the console and file handler
csst_logger = logging.getLogger('csst')
csst_logger.handlers = []
csst_logger.setLevel(logging.DEBUG)
csst_logger.addHandler(ch)
csst_logger.addHandler(fh)
# Set up the concurrent.futures logger
cf_logger = logging.getLogger('concurrent.futures')
cf_logger.setLevel(logging.DEBUG)
cf_logger.addHandler(ch)
cf_logger.addHandler(fh)
return csst_logger
def setup_test_logging():
# Console formatter, mention name
cfmt = logging.Formatter(('%(name)s - %(levelname)s - %(message)s'))
# File formatter, mention time
ffmt = logging.Formatter(('%(asctime)s - %(levelname)s - %(message)s'))
# Only warnings and more serious stuff on the console
ch = logging.StreamHandler()
ch.setLevel(logging.WARN)
ch.setFormatter(cfmt)
logs_dir = os.getenv("CSST_DFS_LOGS_DIR", "logs")
if not os.path.exists(logs_dir):
os.makedirs(logs_dir)
fh = logging.FileHandler(os.path.join(logs_dir, 'csst_dfs_test.log'),
fh.setLevel(logging.DEBUG)
fh.setFormatter(ffmt)
# Set up the montblanc logger
csst_logger = logging.getLogger('csst')
csst_logger.handlers = []
csst_logger.setLevel(logging.DEBUG)
csst_logger.addHandler(ch)
csst_logger.addHandler(fh)
# Set up the concurrent.futures logger
cf_logger = logging.getLogger('concurrent.futures')
cf_logger.setLevel(logging.DEBUG)
cf_logger.addHandler(ch)
cf_logger.addHandler(fh)
return csst_logger