1. 程式人生 > >python三十九:logging模組

python三十九:logging模組

import logging

logging.basicConfig(
    level=logging.DEBUG    # 設定日誌級別, 預設為 WARNING
    ,filename="logger.log"  # 將日誌資訊輸出到檔案中
    ,filemode="w" # 檔案開啟模式,預設為'a'
  #  asctime:字串形式的當前時間 filename:檔名稱  lineno日誌的行號  message:日誌資訊
    ,format="%(asctime)s %(filename)s [%(lineno)d] %(message)s" # 日誌顯示格式
)

logging.debug("debug message")
logging.info("info message")
# 預設情況下, python的logging模組將日誌列印到了標準輸出中,
# 且只顯示了大於等於WARNING級別的日誌
logging.warning("warning message")
logging.error("error message")
logging.critical("critical message")
#---------------------- logger物件
logger = logging.getLogger()

fh = logging.FileHandler("loger.txt")
ch = logging.StreamHandler()

fm = logging.Formatter("%(asctime)s %(message)s") # 日誌格式
fh.setFormatter(fm)
ch.setFormatter(fm)

logger.addHandler(fh)
logger.addHandler(ch)
logger.setLevel("DEBUG")

logger.debug("debug message")
logger.info("info message")
logger.warning("warning message")
logger.error("error message")
logger.critical("critical message")

 

import logging
logger = logging.getLogger()  # root的logger
# 名字相同的logger是同一個logger物件
logger1 = logging.getLogger("myLogger") # logger可以起名字,一切logger都是root的"兒子"

ch = logging.StreamHandler()

logger.addHandler(ch)
logger1.addHandler(ch)

logger1.setLevel("DEBUG")

logger.debug("logger debug message")
logger.info("logger info message")
logger.warning("logger warning message")
logger.error("logger error message")
logger.critical("logger critical message")

logger1.debug("logger1 debug message")
logger1.info("logger1 info message")
logger1.warning("logger1 warning message")
logger1.error("logger1 error message")
logger1.critical("logger1 critical message")