Source code for buildtest.log
"""
Methods related to buildtest logging
"""
import logging
import os
LOG_FORMATTER = "%(asctime)s [%(filename)s:%(lineno)s - %(funcName)5s() ] - [%(levelname)s] %(message)s"
LOG_NAME = "buildtest"
FILE_LOG = os.path.join(os.getenv("BUILDTEST_ROOT"), "buildtest.log")
[docs]def init_logfile(logfile=FILE_LOG, debug=None):
"""Initialize a log file intended for a builder. This requires
passing the filename intended for the log (from the builder)
and returns the logger.
:param logfile: logfile name
:type logfile: str
"""
logger = logging.getLogger("buildtest")
fh = logging.FileHandler(logfile)
formatter = logging.Formatter(LOG_FORMATTER)
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.setLevel(logging.DEBUG)
# enable StreamHandler when --debug option is enabled
if debug:
stdout_logger = logging.StreamHandler()
stdout_logger.setLevel(logging.DEBUG)
stdout_logger.setFormatter(formatter)
logger.addHandler(stdout_logger)
return logger