1:logger文本打印logger信息至本地文件/控制臺(tái)
import logging
from functools import wraps
import tracebackdef get_log():
? ? ? ?logger = logging.getLogger()
? ? ? ?logger.setLevel(logging.DEBUG)
? ? ? ?# Log等級(jí)總開(kāi)關(guān) # 第二步,創(chuàng)建一個(gè)handler,用于寫(xiě)入日志文件
? ? ? ?logfile = '../log/log.log'
? ? ? ?fh = logging.FileHandler(logfile, mode='a', encoding="utf8")
? ? ? ?# open的打開(kāi)模式這里可以進(jìn)行參考
? ? ? ?fh.setLevel(logging.DEBUG)
? ? ? ? # 輸出到file的log等級(jí)的開(kāi)關(guān) # 第三步,再創(chuàng)建一個(gè)handler,用于輸出到控制臺(tái) ch = logging.StreamHandler() ????????ch.setLevel(logging.WARNING)
? ? ? ?# 輸出到console的log等級(jí)的開(kāi)關(guān)
? ? ? ? # 第四步,定義handler的輸出格式
? ? ? ? formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") ????????fh.setFormatter(formatter) ch.setFormatter(formatter)
? ? ? ? ?# 第五步,將logger添加到handler里面
? ? ? ? logger.addHandler(fh)
? ? ? ? logger.addHandler(ch)
? ? ? ? # a.info("info message")
? ? ? ? try:
? ? ? ? ? ? ? ?raise Exception('發(fā)生異常錯(cuò)誤信息')
? ? ? ? except:
? ? ? ? ? ? ? ? # 方案二,使用Python標(biāo)準(zhǔn)日志管理維護(hù)工具。
? ? ? ? ????????logging.debug(traceback.format_exc())
? ? ? ? ?return logger
2:自動(dòng)打印logger
