直接引用
import logging
def Logger(logname="",logfile=""):
#创建logger,如果参数为空则返回root logger
logger = logging.getLogger(logname)
logger.setLevel(logging.INFO) #设置logger日志等级
#这里进行判断,如果logger.handlers列表为空,则添加,否则,直接去写日志
if not logger.handlers:
#设置输出日志格式
formatter = logging.Formatter(
fmt="%(asctime)s -%(name)s- %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
#创建handler,如果存在文件名就增加文件记录输出,如果没有就只是屏幕输出
if logfile:
fh = logging.FileHandler(logfile,encoding="utf-8")
fh.setFormatter(formatter)
logger.addHandler(fh)
ch = logging.StreamHandler()
#为handler指定输出格式
ch.setFormatter(formatter)
#为logger添加的日志处理器
logger.addHandler(ch)
return logger #直接返回logger
引用后直接使用
logger3 = Logger("","log.log")
logger3.info("info")
logger3.error("error")
logger3.critical("critical")
logger3.debug("debug")
上述是参考下面这个文章做了一些改进
https://www.cnblogs.com/Nicholas0707/p/9021672.html