首页 > 代码库 > python之logging模块

python之logging模块

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模块