Python中的logging库

python的logging秉承了python一贯清爽的风格,短短几行代码就能实现日志记录。
Python代码 复制代码  收藏代码
  1. # -*- coding: utf-8 -*-   
  2. import logging   
  3. import math   
  4.   
  5. logger = logging.getLogger()   
  6. #set loghandler   
  7. file = logging.FileHandler("qqxml.log")   
  8. logger.addHandler(file)   
  9. #set formater   
  10. #formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s")   
  11. formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s")   
  12. file.setFormatter(formatter)    
  13. #set log level   
  14. logger.setLevel(logging.NOTSET)   
  15.   
  16.   
  17.   
  18. for i in range(0,10):   
  19.     logger.info(str(i))  
# -*- coding: utf-8 -*-
import logging
import math

logger = logging.getLogger()
#set loghandler
file = logging.FileHandler("qqxml.log")
logger.addHandler(file)
#set formater
#formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s")
formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s")
file.setFormatter(formatter) 
#set log level
logger.setLevel(logging.NOTSET)



for i in range(0,10):
	logger.info(str(i))
第4行生成一个日志对象,可以带一个名字,可以缺省。
第5行生成一个Handler。logging支持许多Handler,象FileHandler, SocketHandler, SMTPHandler等,我由于要写文件就使用了FileHandler。logfile是一个全局变量,它就是一个文件名,如:’crawl.log’。

第6行生成一个格式器,用于规范日志的输出格式。如果没有这行代码,那么缺省的格式就是:”%(message)s”。也就是写日志时,信息是什么日志中就是什么,没有日期,没有信息级别等信息。logging支持许多种替换值,详细请看Formatter的文档说明。这里有三项:时间,信息级别,日志信息。

第7行将格式器设置到处理器上。
第8行将处理器加到日志对象上。

第9行设置日志信息输出的级别。logging提供多种级别的日志信息,如:NOTSET, DEBUG, INFO, WARNING, ERROR, CRITICAL等。每个级别都对应一个数值。如果不执行此句,缺省为30(WARNING)。可以执行:logging.getLevelName(logger.getEffectiveLevel())来查看缺省的日志级别。日志对象对于不同的级别信息提供不同的函数进行输出,如:info(), error(), debug()等。当写入日志时,小于指定级别的信息将被忽略。因此为了输出想要的日志级别一定要设置好此参数。这里我设为NOTSET(值为0),也就是想输出所有信息。

有了日志对象,输出就非常简单了:

    logger.error(message)
    logger.info(message) 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Pythonlogging(日志记录)是一个非常有用的工具,可以帮助我们在应用程序记录日志信息,以便在运行时检查和调试应用程序。logging提供了一组用于记录日志消息的函数和类,以及一个灵活的配置系统,可用于针对不同的应用程序和环境进行自定义配置。 以下是使用logging记录日志消息的示例代码: ```python import logging # 配置日志记录器 logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') # 记录日志消息 logging.debug('This is a debug message') logging.info('This is an info message') logging.warning('This is a warning message') logging.error('This is an error message') logging.critical('This is a critical message') ``` 在上面的代码,我们首先使用`basicConfig()`方法配置了一个日志记录器,指定了日志记录的级别(在此设置为`INFO`)和消息格式。然后,我们使用不同级别的`logging`函数记录了5个不同的日志消息。 日志消息的级别从低到高分别是:`DEBUG`、`INFO`、`WARNING`、`ERROR`和`CRITICAL`。如果在`basicConfig()`方法设置了`level`参数,则只有等于或高于该级别的日志消息才会被记录。 当运行上述代码时,控制台将输出以下内容: ``` 2021-08-20 15:47:14,442 - root - INFO - This is an info message 2021-08-20 15:47:14,442 - root - WARNING - This is a warning message 2021-08-20 15:47:14,442 - root - ERROR - This is an error message 2021-08-20 15:47:14,443 - root - CRITICAL - This is a critical message ``` 除了控制台输出之外,我们还可以将日志消息记录到文件,或将其发送到外部系统或服务,以便进一步分析和处理。logging提供了各种处理程序和过滤器,可以帮助我们实现这些功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值