1. 程式人生 > >Python自帶日誌模組

Python自帶日誌模組

預設情況下(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")