python logging使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

日志,logging,是我们日常在python中必不可少的重要工具,它可以储存平时做项目时的操作,反馈与结果,使得我们可以精确的进行判断以及下一步执行,本文将教会你如何将Python logging输出到文件。

一、使用步骤

1.引入库

  1. 导入logging :import logging
  2. 创建logger对象 :logger = logging.getLogger()
  3. 创建FileHandler对象 :file_handler = logging.FileHandler(‘log.txt’)
  4. 创建Formatter对象 :logging_format = logging.Formatter(“[%(asctime)s] %(levelname)s ts %(message)s”)
  5. 将Formatter对象添加到FileHandler对象 :file_handler.setFormatter(formatter)
  6. 设置日志级别 :logger.setLevel(logging.INFO)

2.读入数据

这是我的日志生成路径:
在这里插入图片描述
如果没有路径则重新生成一个路径:

if not os.path.exists(LOG_DIR):
os.mkdir(LOG_DIR)

如果你想要在控制台也看到日志内容时加入以下代码

#创建一个Handler,用于输出到控制台
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.INFO)
stream_handler.setFormatter(logging_format)

if not logger.handlers:
logger.addHandler(handler)
logger.addHandler(stream_handler)

完整代码:
import logging
在这里插入图片描述


总结

以上就是将Python logging输出到文件的完整代码示例,你可以根据需要进行修改和扩展。

  • 10
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Python logging 模块是 Python 标准库中提供的一个日志记录工具,它可以用来记录应用程序运行时的信息,便于开发人员排查问题和分析程序性能。 使用 Python logging 模块,需要先导入 logging 模块,然后创建一个 logger 对象,通过配置 logger 的不同 handler,可以控制不同级别的日志输出到不同的地方。 下面是一个简单的使用示例: ```python import logging # 创建一个 logger 对象 logger = logging.getLogger(__name__) # 配置 logger 的 handler handler = logging.StreamHandler() formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) # 设置 logger 的日志级别 logger.setLevel(logging.INFO) # 记录日志 logger.debug('This is a debug message') logger.info('This is an info message') logger.warning('This is a warning message') logger.error('This is an error message') logger.critical('This is a critical message') ``` 在上面的示例中,我们首先创建了一个名为 `__name__` 的 logger 对象,然后配置了一个输出到标准输出的 handler,并设置了日志级别为 `INFO`。接着我们分别记录了不同级别的日志信息,最终输出的日志信息如下: ``` 2021-08-25 16:09:59,757 - __main__ - INFO - This is an info message 2021-08-25 16:09:59,757 - __main__ - WARNING - This is a warning message 2021-08-25 16:09:59,757 - __main__ - ERROR - This is an error message 2021-08-25 16:09:59,757 - __main__ - CRITICAL - This is a critical message ``` 可以看到,只有日志级别大于或等于 `INFO` 的日志信息被输出到了标准输出。如果我们希望将日志信息输出到文件,可以配置一个输出到文件的 handler,如下所示: ```python import logging # 创建一个 logger 对象 logger = logging.getLogger(__name__) # 配置 logger 的 handler handler = logging.FileHandler('example.log', mode='w') formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') handler.setFormatter(formatter) logger.addHandler(handler) # 设置 logger 的日志级别 logger.setLevel(logging.INFO) # 记录日志 logger.debug('This is a debug message') logger.info('This is an info message') logger.warning('This is a warning message') logger.error('This is an error message') logger.critical('This is a critical message') ``` 在上面的示例中,我们将日志信息输出到了名为 `example.log` 的文件中。需要注意的是,如果文件不存在,将会被创建,如果文件已存在,将会被覆盖。如果想要追加日志信息而不是覆盖文件,可以将 `mode` 参数设置为 `'a'`。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值