python logging现学现用 – TimedRotatingFileHandler使用方法
TimedRotatingFileHandler这个模块是满足文件名按时间自动更换的需求,这样就可以保证日志单个文件不会太大。
用法很简单,示例代码:
import logging
import logging.handlers
# logging初始化工作
logging.basicConfig()
# nor的初始化工作
nor = logging.getLogger("nor")
nor.setLevel(logging.INFO)
# 添加TimedRotatingFileHandler到nor
# 定义一个1分钟换一次log文件的handler
filehandler = logging.handlers.TimedRotatingFileHandler(
"logging_test2", 'M', 1, 0)
# 设置后缀名称,跟strftime的格式一样
filehandler.suffix = "%Y%m%d-%H%M.log"
nor.addHandler(filehandler)
TimedRotatingFileHandler的构造函数定义如下(2.5版本API为例):
TimedRotatingFileHandler(filename [,when [,interval [,backupCount]]])
filename 是输出日志文件名的前缀
when 是一个字符串的定义如下:
“S”: Seconds
“M”: Minutes
“H”: Hours
“D”: Days
“W”: Week day (0=Monday)
“midnight”: Roll over at midnight
interval 是指等待多少个单位when的时间后,Logger会自动重建文件,当然,这个文件的创建
取决于filename+suffix,若这个文件跟之前的文件有重名,则会自动覆盖掉以前的文件,所以
有些情况suffix要定义的不能因为when而重复。
backupCount 是保留日志个数。默认的0是不会自动删除掉日志。若设10,则在文件的创建过程中
库会判断是否有超过这个10,若超过,则会从最先创建的开始删除。
分享到:
相关推荐
标题“工作积累(6)-使用python进行log分析”指出,这个话题主要关注如何利用Python语言对日志(log)数据进行分析。在IT行业中,日志文件是系统、应用程序或服务运行过程中产生的记录,用于追踪错误、调试问题、监控...
因此,在使用`nohup`命令后台执行Python脚本并将输出重定向到日志文件时,由于缓冲的存在,可能会出现日志文件长时间没有新内容的现象。 #### 三、解决方案 针对上述问题,可以通过以下几种方式来解决: 1. **为...
在实际应用中,你可能还需要对日志数据进行进一步的分析,例如统计特定级别的日志数量、分析错误发生的时间分布等。`pandas`库提供了丰富的数据处理函数,可以帮助我们轻松完成这些任务。 总之,通过Python结合正则...
- `logging`库是Python的标准日志模块,可以设置不同级别(DEBUG, INFO, WARNING, ERROR, CRITICAL)的日志,并且可以通过配置文件定制输出格式,包括日期时间、级别名称、日志消息等。 - `colorlog`库是在`...
本示例介绍了一个用Python 2.6编写的脚本,它从名为`sim.log`的日志文件中提取特定模式的关键步骤,并计算它们之间的时间差,以进行统计分析。 首先,我们导入了`re`模块,用于正则表达式匹配,以及`datetime`模块...
# 输出最近的启动和关闭时间 for event in start_events: print("最近启动时间:", event.TimeCreated) for event in shutdown_events: print("最近关闭时间:", event.TimeGenerated) ``` 这段代码连接到本地的...
Python库“cilog-1.0.0-py3-none-any.whl”是一个用于日志管理的工具,专为Python 3设计。在Python开发中,日志记录是跟踪程序运行状态、诊断错误和调试代码的重要组成部分。这个库提供了一种高效且灵活的方式来管理...
在示例代码中,`split`命令被用来按指定大小(例如65535000字节,约60MB)分割`nohup.out`,并按照特定格式(4位数字后缀,从0000开始)创建新文件,例如`log_20160610_0001`。这可以通过`cron`定时任务实现。 2. ...
python的输出又缓冲,导致out.log并不能够马上看到输出。 -u 参数,使得python不启用缓冲。 解决 nohup python -u flush.py > flush.log 2>&1 & 终于好了! 以上这篇解决python nohup linux 后台运行输出的问题就是...
在Python编程中,有时我们需要将控制台的输出信息保存到文件中以便后续分析或存档。这在执行长时间运行的任务、调试或者记录日志时特别有用。本文将介绍三种将Python控制台输出重定向到文件的方法。 ### 1. 重定向...
Python-timy是一个轻量级的库,专为Python开发者设计,用于轻松地测量代码执行的时间,从而进行性能分析。这个库的目的是提供一个简洁、易于使用的接口,帮助开发者了解其代码的运行效率,以便优化关键性能的部分。...
通过 Python 的 `subprocess` 模块,我们可以直接在 Python 程序中执行这个命令,并读取其输出结果。 ```python import subprocess logfile = 'access.log' command = f'tail -f {logfile} | grep "timeout"' ...
可以使用TimedRotatingFileHandler类来按时间间隔轮转日志文件,这对于管理大量日志信息非常有用。 4. 日志颜色化输出:通过ColorizedStderrHandler可以实现日志信息的颜色化输出,使得日志信息更加直观和容易阅读...
通过上述方法,我们可以实现在Python脚本执行过程中实时获取其标准输出流的功能,这对于调试长时间运行的任务尤其有用。这种方法的关键在于理解Python的输出流机制以及如何正确使用`sys.stdout.flush()`来强制刷新...
这段代码会输出当前的日期和时间,如`2022-08-05 14:30:45.123456`。 2. **格式化时间:** Python使用`strftime`方法将日期和时间对象转换为特定格式的字符串: ```python formatted_time = now.strftime("%Y-%...
`logMonitor.py`这个文件可能是实现日志监控功能的Python脚本,它可能包含了创建logger、设置处理器、定义日志格式、以及实时监控日志的逻辑。通过阅读和学习这个脚本,我们可以深入了解如何在Python环境中构建一个...
在这个任务中,我们将使用Python来处理Apache的访问日志,找出访问次数最多的IP地址。 Apache是全球最广泛使用的Web服务器,它的跨平台特性和强大的稳定性使其成为首选。Apache提供了访问日志(access_log)和错误...
它定义了如何将Python应用程序的输出传递给服务器,以及如何将服务器接收到的HTTP请求传递给Python应用程序。对于开发者来说,选择一个兼容WSGI的Web服务器意味着可以轻松地在不同服务器之间迁移应用。 fapws3是...
《Python库instacart_log_generator-0.0.5-py3-none-any.whl详解》 在Python的世界里,库是开发者的重要工具,它们提供了丰富的功能,帮助我们更高效地编写代码。今天我们要探讨的是一个名为`instacart_log_...
### Python日志输出——Logging模块浅析与使用 #### 概述 日志记录是软件开发中的重要组成部分,它能够帮助开发者追踪程序运行时的状态、调试错误以及进行性能分析等。在Python中,`logging`模块是进行日志管理的...