TimedRotatingFileHandler这个模块是满足文件名按时间自动更换的需求,这样就可以保证日志单个文件不会太大。
用法很简单,示例代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
importlogging
importlogging.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,若超过,则会从最先创建的开始删除。
相关推荐
### Python通过TimedRotatingFileHandler按时间切割日志 #### 概述 在Python的日志处理中,经常需要根据时间来定期清理或归档旧的日志文件,以避免单个日志文件过大而导致系统性能下降,同时也便于后续对日志进行...
首先,我们需要创建一个JSON配置文件,例如`logconfig.json`,它定义了日志处理的各种参数。在这个例子中,配置文件包含了以下关键部分: 1. **version**: JSON配置文件的版本号,通常是1。 2. **disable_existing_...
TimedRotatingFileHandler类提供了几个关键参数来配置日志滚动的行为: 1. when:一个字符串,表示滚动周期的基本单位,可取值包括'S'(秒)、'M'(分钟)、'H'(小时)、'D'(天)、'W'(周,周一是0)、'midnight...
为了更好地管理日志文件,Python `logging`模块提供了一个`TimedRotatingFileHandler`类,它可以根据设定的时间间隔自动创建新的日志文件,并将旧的日志文件进行重命名或者归档,从而实现日志文件的自动分割。...
首先,确保在初始化`TimedRotatingFileHandler`时,设置正确的参数: ```python handler = TimedRotatingFileHandler( filename="your_log_file.log", when="midnight", # 可选值有'd', 'H', 'M', 'S',分别代表天...
Python的`logging`模块提供了`TimedRotatingFileHandler`类来支持这一需求。本文将详细介绍如何配置该功能,并解决在Tornado框架中遇到的日志问题。 #### 二、基础知识 1. **Python logging模块**:Python的标准库...
这里的参数解释如下: - `when='midnight'` 表示日志文件在每天的午夜时刻被分割。 - `interval=1` 表示每隔一天执行一次日志分割操作。 - `backupCount=7` 表示保留最近七天的日志文件。 #### 五、日志实例编写 ...
本实例中,我们探讨了一个自定义的日志处理模块,它简化了日志配置过程,并提供了灵活的参数设置。 首先,我们看到在`logger.py`文件中定义了一个名为`getLogger`的函数,这个函数是日志模块的核心。它接受多个参数...
总结来说,通过合理使用`TimedRotatingFileHandler`,我们可以有效地管理和控制Python `logging`库生成的日志文件,防止因日志文件过大而导致的磁盘空间问题。确保设置适当的`when`、`interval`和`backupCount`参数...
`basicConfig()`函数有许多可配置的参数,如`filename`、`filemode`、`format`、`datefmt`等。这些参数允许你控制日志的保存位置、格式和级别。`level`参数用于设置root logger的级别,而`format`参数可以定制日志...
以上就是关于“基于Python log的正确打开方式”的详细知识点介绍,从日志的重要性、Python日志模块的使用、到日志文件的配置与管理、颜色化输出、邮件通知集成、以及代码的保存和模块引用等方面都进行了全面的说明。...
总的来说,Python的`logging`模块提供了强大的日志管理能力,可以根据实际需求灵活配置,实现日志的有序、高效管理和分析。无论是简单的调试还是复杂的日志监控,`logging`都能提供有力的支持。
对于长时间运行的程序,`RotatingFileHandler`或`TimedRotatingFileHandler`可以帮助管理日志文件大小或按时间间隔自动轮换日志。 9. **命名空间和日志记录器**: `logging.getLogger(name)`可以创建一个具有特定...
- **`TimedRotatingFileHandler`参数解析**: - `filename`:指定日志文件路径。 - `when`:设定滚动周期,这里设置为`midnight`表示每天午夜进行日志滚动。 - `interval`:与`when`配合使用,指定滚动间隔,例如...
1. **配置文件**:在Python应用中,通常会使用配置文件(如.ini或.json)来存储应用的参数和设置,以便于在不修改代码的情况下调整应用行为。Python有多种库如`configparser`(Python标准库)和`pydantic`用于解析和...
这通常通过配置`logging.handlers.TimedRotatingFileHandler`来实现。 #### 二、配置详解 1. **配置文件结构**: 在Django项目的`settings.py`文件中,我们可以定义日志配置信息。以下是一个示例配置: ```...