49 lines
1.8 KiB
Python
49 lines
1.8 KiB
Python
#!/usr/bin/env python
|
|
|
|
"""
|
|
A class for logging... no, not timber
|
|
"""
|
|
|
|
|
|
import logging
|
|
import os
|
|
|
|
basedir = os.path.dirname(__file__)
|
|
# class Logger(object):
|
|
# level_relations = {
|
|
# 'debug': logging.DEBUG,
|
|
# 'info': logging.INFO,
|
|
# 'warning': logging.WARNING,
|
|
# 'error': logging.ERROR,
|
|
# 'crit': logging.CRITICAL
|
|
# } # relationship mapping
|
|
#
|
|
# def __init__(self, filename, level='info', when='D', backCount=3,
|
|
# fmt='%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s'):
|
|
# self.logger = logging.getLogger(filename)
|
|
# format_str = logging.Formatter(fmt) # Setting the log format
|
|
# self.logger.setLevel(self.level_relations.get(level)) # Setting the log level
|
|
# console_handler = logging.StreamHandler() # on-screen output
|
|
# console_handler .setFormatter(format_str) # Setting the format
|
|
# th = logging.handlers.TimedRotatingFileHandler(filename=filename, when=when, backupCount=backCount,encoding='utf-8') # automatically generates the file at specified intervals
|
|
# th.setFormatter(format_str) # Setting the format
|
|
# self.logger.addHandler(console_handler) # Add the object to the logger
|
|
# self.logger.addHandler(th)
|
|
|
|
def timber(name):
|
|
file_formatter = logging.Formatter('%(asctime)s - %(pathname)s[line:%(lineno)d] - %(levelname)s: %(message)s')
|
|
file_handler = logging.FileHandler(os.path.join(basedir, "log", "all.log"))
|
|
file_handler.setLevel(logging.DEBUG)
|
|
file_handler.setFormatter(file_formatter)
|
|
|
|
console_handler = logging.StreamHandler()
|
|
console_handler.setLevel(logging.INFO)
|
|
console_handler.setFormatter(file_formatter)
|
|
|
|
logger = logging.getLogger(name)
|
|
logger.addHandler(file_handler)
|
|
logger.addHandler(console_handler)
|
|
logger.setLevel(logging.DEBUG)
|
|
|
|
return logger
|