1. 程式人生 > >python之logging模塊

python之logging模塊

想要 線程 自定義 操作 import fda cnblogs hid config

logging

用於便捷記錄日誌且線程安全的模塊

import logging
  
  
logging.basicConfig(filename=log.log,
                    format=%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s,
                    datefmt=%Y-%m-%d %H:%M:%S %p,
                    level=10)
  
logging.debug(debug)
logging.info(
info) logging.warning(warning) logging.error(error) logging.critical(critical) logging.log(10,log)

日誌等級:

CRITICAL = 50
FATAL = CRITICAL
ERROR = 40
WARNING = 30
WARN = WARNING
INFO = 20
DEBUG = 10
NOTSET = 0

註:只有【當前寫等級】大於【日誌等級】時,日誌文件才被記錄。

2、多文件日誌

對於上述記錄日誌的功能,只能將日誌記錄在單文件中,如果想要設置多個日誌文件,logging.basicConfig將無法完成,需要自定義文件和日誌操作對象。

技術分享
# 定義文件
file_1_1 = logging.FileHandler(l1_1.log, a, encoding=utf-8)
fmt = logging.Formatter(fmt="%(asctime)s - %(name)s - %(levelname)s -%(module)s:  %(message)s")
file_1_1.setFormatter(fmt)

file_1_2 = logging.FileHandler(l1_2.log, a, encoding=utf-8)
fmt = logging.Formatter()
file_1_2.setFormatter(fmt)

# 定義日誌 logger1 = logging.Logger(s1, level=logging.ERROR) logger1.addHandler(file_1_1) logger1.addHandler(file_1_2) # 寫日誌 logger1.critical(1111)
日誌一 技術分享
# 定義文件
file_2_1 = logging.FileHandler(l2_1.log, a)
fmt = logging.Formatter()
file_2_1.setFormatter(fmt)

# 定義日誌
logger2 = logging.Logger(s2, level=logging.INFO)
logger2.addHandler(file_2_1)
日誌(二)

如上述創建的兩個日誌對象

  • 當使用【logger1】寫日誌時,會將相應的內容寫入 l1_1.log 和 l1_2.log 文件中
  • 當使用【logger2】寫日誌時,會將相應的內容寫入 l2_1.log 文件中

python之logging模塊