#coding = utf-8
import logging
from tools import project_path
class MyLog:
def my_log(self,msg,level):
# 1.定义一个日志收集器
my_logger = logging.getLogger('python')
# 2.设定日志收集器收集的最小级别
my_logger.setLevel('DEBUG')
# 3.定义输出格式
formatter = logging.Formatter("%(asctime)s-%(levelname)s-%(name)s-日志信息:%(message)s")
# 4.创建自用的输出渠道
ch = logging.StreamHandler()
# 5.设定输出渠道输出的最小级别
ch.setLevel('DEBUG')
# 6.设定输出格式
ch.setFormatter(formatter)
fh = logging.FileHandler(project_path.log_path,encoding='utf-8')
fh.setLevel('DEBUG')
fh.setFormatter(formatter)
# 7.三者结合
my_logger.addHandler(ch)
my_logger.addHandler(fh)
# 收集日志
if level =='DEBUG':
my_logger.debug(msg)
elif level == 'INFO':
my_logger.info(msg)
elif level == 'WARNING':
my_logger.warning(msg)
elif level == 'ERROR':
my_logger.error(msg)
elif level == 'CRITICAL':
my_logger.critical(msg)
# 8.关闭日志收集器
my_logger.removeHandler(ch)
my_logger.removeHandler(fh)
def debug(self,msg):
self.my_log(msg,'DEBUG')
def info(self,msg):
self.my_log(msg,'INFO')
def warning(self,msg):
self.my_log(msg,'WARNING')
def error(self,msg):
self.my_log(msg,'ERROR')
def critical(self,msg):
self.my_log(msg,'CRITICAL')
if __name__ == '__main__':
# MyLog().debug('这是第一个')
# MyLog().warning('这是第二个')
# MyLog().info('这是第三个')
MyLog().my_log('这是第而个','ERROR')