直接引用
import logging
def Logger(logname="",logfile=""):
#創(chuàng)建logger,如果參數(shù)為空則返回root logger
logger = logging.getLogger(logname)
logger.setLevel(logging.INFO) #設(shè)置logger日志等級(jí)
#這里進(jìn)行判斷,如果logger.handlers列表為空诀豁,則添加冬阳,否則蔗怠,直接去寫日志
if not logger.handlers:
#設(shè)置輸出日志格式
formatter = logging.Formatter(
fmt="%(asctime)s -%(name)s- %(levelname)s - %(message)s",
datefmt="%Y-%m-%d %H:%M:%S"
)
#創(chuàng)建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")
上述是參考下面這個(gè)文章做了一些改進(jìn)
https://www.cnblogs.com/Nicholas0707/p/9021672.html