def __init__(self, name, settings):
self.settings = settings
self._mailer = MailReporter(settings)
base_dir = os.path.dirname(os.path.dirname(
os.path.realpath(__file__)))
log_dir = os.path.join(base_dir, 'logs')
for logname in self.known_logs:
log = getLogger(logname)
log.setLevel(str_to_log_level(
settings['reporter.%s.log_level' % logname]))
output_type = settings['reporter.%s.type' % logname]
if output_type == 'syslog':
log.addHandler(SysLogHandler(address='/dev/log'))
elif output_type == 'file':
filename = settings['reporter.%s.filename' % logname]
if not filename:
filename = '%s-%s.log' % (name, logname)
elif os.path.dirname(filename) == '':
filename = os.path.join(log_dir, '%s-%s' % (name,
filename))
filesize = int(settings['reporter.%s.filesize' % logname])
filecount = int(settings['reporter.%s.filecount' % logname])
if filecount > 0:
filecount -= 1
log.addHandler(RotatingFileHandler(filename,
maxBytes=filesize, backupCount=filecount))
elif output_type == 'console':
log.addHandler(StreamHandler())
评论列表
文章目录