Python自帶日誌模組
阿新 • • 發佈:2019-02-09
預設情況下(logging.basicConfig配置時沒指定filename),logging將日誌列印到螢幕,日誌級別為WARNING;
日誌級別大小關係為:CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,當然也可以自己定義日誌級別
filemode: 和file函式意義相同,指定日誌檔案的開啟模式,’w’或’a’ 覆蓋還是追加
#!/usr/bin/python
# coding=utf-8
# from util import *
# 配置日誌資訊
import logging
logging.basicConfig(level=logging.DEBUG,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s' ,
datefmt='%m-%d %H:%M',
filename='my.log',
filemode='w')
# 定義一個Handler列印INFO及以上級別的日誌到sys.stderr
console = logging.StreamHandler()
console.setLevel(logging.INFO)
# 設定日誌列印格式
formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s' ,datefmt='%H:%M')
console.setFormatter(formatter)
# 將定義好的console日誌handler新增到root logger
mylog=logging.getLogger('my.log')
mylog.addHandler(console)
# 設定propagate=0表示繼承的源頭,不會把log資訊傳給logging了
mylog.propagate=0
logging.info("hahaha")