def __init__(self, log, log_level, logger_name, logger_section=None):
'''
Set up the logger runtime state.
'''
super().__init__()
self.log_file = log
self.log_level = log_level
self.logger_name = logger_name
self.logger_section = logger_section
self.name = "%s-%s" % (logger_name, logger_section) if logger_section else logger_name
self.description = "logger '%s'" % self.name
logf = str.format(
"%(asctime)s {0}: <{1}> [%(levelname)s] %(message)s",
logger_name,
logger_section,
) if logger_section else "%(asctime)s %(name)s: [%(levelname)s] %(message)s"
self.logger_formatter = logging.Formatter(logf)
if self.log_file:
util.directory_create(os.path.dirname(self.log_file))
self.logger_handler = logging.FileHandler(self.log_file)
os.chmod(self.log_file, stat.S_IRUSR|stat.S_IWUSR|stat.S_IRGRP|stat.S_IROTH)
else:
self.logger_handler = logging.NullHandler()
self.logger_handler.setFormatter(self.logger_formatter)
# Initialised in start().
self.logger = None
评论列表
文章目录