logging封装
#coding:utf-8
import logging
def get_logger(name=None,
file=None,
logger_level="DEBUG",
stream_level="DEBUG",
file_level = "INFO",
fmt='%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s:%(message)s',
):
"""获得收集器"""
logger = logging.getLogger(name)
"""设置收集器的级别"""
logger.setLevel(logger_level)
"""输出管理器"""
stream_handler = logging.StreamHandler()
stream_handler.setLevel(stream_level)
logger.addHandler(stream_handler)
"""格式"""
fmt = logging.Formatter(fmt)
stream_handler.setFormatter(fmt)
"""判断是否有file"""
if file:
file_handler = logging.FileHandler(file,encoding='utf-8')
file_handler.setLevel(file_level)
logger.addHandler(file_handler)
file_handler = logging.Formatter(fmt)
return logger
if __name__ == '__main__':
logger = get_logger()
#logger = get_logger('log.txt')
logger.info("info信息")
logger.error("error信息")
logger.warning("warning信息")
类的封装实例
import logging
class get_logger:
def __init__(self,
name=None,
file=None,
logger_level="DEBUG",
stream_level="DEBUG",
file_level = "INFO",
fmt='%(asctime)s - [%(filename)s -->line:%(lineno)d] - %(levelname)s:%(message)s'):
"""获得收集器"""
logger = logging.getLogger(name)
"""设置收集器的级别"""
logger.setLevel(logger_level)
"""输出管理器"""
stream_handler = logging.StreamHandler()
stream_handler.setLevel(stream_level)
logger.addHandler(stream_handler)
"""格式"""
fmt = logging.Formatter(fmt)
stream_handler.setFormatter(fmt)
"""判断是否有file"""
if file:
file_handler = logging.FileHandler(file,encoding='utf-8')
file_handler.setLevel(file_level)
logger.addHandler(file_handler)
file_handler = logging.Formatter(fmt)
self.logger = logger
if __name__ == '__main__':
log= LoggerHandler()
log.logger.info("hello")