Python的第三方库——logging库学习

Python的第三方库——logging库学习

logging.debug()
logging.info()
logging.warning()
logging.error()
logging.critical()
Filters are covered in more detail in Filter Objects.
过滤器在过滤器对象中将更详细地介绍。

1、保存到文件中

logging.basicConfig(filename=‘example.log’, encoding=‘utf-8’, level=logging.DEBUG)

(在 3.9 版更改: 添加了 encoding 参数。
在早期的 Python 版本中,或者如果未指定,使用的编码是 open() 使用的默认值。
虽然在上面的例子中没有显示,但现在也可以传递一个错误参数,它决定了如何处理编码错误。
有关可用值和默认值,请参阅 open() 的文档。)

logging.basicConfig(filename=‘example.log’, filemode=‘w’, level=logging.DEBUG)

用来处理追加内容是覆盖原来的内容,还是追加在原来内容的后面。默认是追加到原来的内容后面,filemode='w’表示直接覆盖原来的内容

# 用于在日志中输出中文
import logging
logger=logging.getLogger()
fh=logging.FileHandler("D:\\ZhiPuAI\\article_match\\match.log",encoding="utf-8",mode="w")
logger.addHandler(fh)
logger.setLevel(logging.INFO)

2、输出变量信息

logging.warning(‘%s before you %s’, ‘Look’, ‘leap!’)
logging.basicConfig(format=‘%(levelname)s:%(message)s’, level=logging.DEBUG)

输出结果是:
DEBUG:This message should appear on the console

logging.basicConfig(format=‘%(asctime)s %(message)s’)

输出结果是:
2010-12-12 11:41:42,612 is when this event was logged.

logging.basicConfig(format=‘%(asctime)s %(message)s’, datefmt=‘%m/%d/%Y %I:%M:%S %p’)

输出结果是:
12/12/2010 11:46:36 AM is when this event was logged.

3、formater格式

在这里插入图片描述

# 设置输出的格式
LOG_FORMAT = "时间:%(asctime)s - 日志等级:%(levelname)s - 日志信息:%(message)s"
# 对logger进行配置——日志等级&输出格式
logging.basicConfig(level=logging.WARNING, format=LOG_FORMAT)
注意:logging.basicConfig()只能有一个哦!如果写多条——只有第一条会生效!!!

在这里插入图片描述

4、灵活组件格式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

import logging

# 创建一个logger(日志记录器)对象;
my_logger = logging.Logger("first_logger")


# 第一个日志处理器
my_handler = logging.FileHandler('test.log')

my_handler.setLevel(logging.INFO)
my_format = logging.Formatter("时间:%(asctime)s 日志信息:%(message)s 行号:%(lineno)d")

my_handler.setFormatter(my_format)
my_logger.addHandler(my_handler)


# 第二个日志处理器
you_handler = logging.StreamHandler()

you_handler.setLevel(logging.DEBUG)
you_format = logging.Formatter("时间:%(asctime)s 日志信息:%(message)s 行号:%(lineno)d 这是StreamHandler")

you_handler.setFormatter(you_format)
my_logger.addHandler(you_handler)


# 使用:
my_logger.info("我是日志组件")

猜你喜欢

转载自blog.csdn.net/baidu_41810561/article/details/122114060