按日期、时间或大小生成log文件的log4j配置方案
http://dev.csdn.net/article/31827.shtm
我们开发的B/S结构系统,在服务端一般要有日常运行的日志记录。保存成日志文件形式的时候,大家经常会遇到一个问题:日志文件过大。上百兆的日志文件对 查阅日志信息来说也是一个问题。所以我希望能够每天或每个月产生一个日志文件,这样文件不至于过大。 或者根据日志文件大小来判断,超过规定大小,日志自动增加新文件。
在log4j中这两种方式的实现都很简单,只要在配置文件中设置即可。
一、按照一定时间产生日志文件,配置文件如下:
# Set root logger level to ERROR and its only appender to A1.
log4j.rootLogger=ERROR,R
# R is set to be a DailyRollingFileAppender.
log4j.appender.R=org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File=backup.log
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
以上配置是每天产生一个备份文件。其中备份文件的名字叫backup.log。
具体的效果是这样:当天的日志信息记录在backup.log文件中,前一天的记录在名称为 backup.log.yyyy-mm-dd 的文件中。
类似的,如果需要每月产生一个文件可以修改上面的配置:
将
log4j.appender.R.DatePattern = '.'yyyy-MM-dd
改为
log4j.appender.R.DatePattern = '.'yyyy-MM
二、根据日志文件大小自动产生新日志文件
配置文件内容如下:
# Set root logger level to ERROR and its only appender to A1.
log4j.rootLogger=ERROR,R
# R is set to be a RollingFileAppender.
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=backup.log
#log4j.appender.R.MaxFileSize=100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
其中:
#日志文件的大小
log4j.appender.R.MaxFileSize=100KB
# 保存一个备份文件
log4j.appender.R.MaxBackupIndex=1
分享到:
相关推荐
当我们面对特定项目需求,比如需要自定义日志文件名和日志输出格式时,Log4j同样提供了相应的解决方案。 首先,让我们深入理解如何自定义日志文件名。默认情况下,Log4j的日志文件名通常是固定的或者基于时间戳生成...
5. **插件系统**:Log4j2拥有一个丰富的插件库,包括各种Appender和Filter,如SMTP Appender(发送邮件通知)、RollingFileAppender(按日期或大小滚动日志文件)等。这使得Log4j2能够适应各种复杂的日志需求。 6. ...
Log4j的配置主要通过`log4j.properties`或`log4j.xml`文件进行。以下是一个基本的配置示例: ```properties # 配置控制台输出 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout....
Log4J提供日志滚动功能,可以在日志文件达到一定大小或日期时自动创建新的日志文件。这对于长时间运行的应用程序非常有用,可以避免单个日志文件过大难以管理。 **日志管理和分析** Log4J生成的日志文件可以使用...
Log4cplus支持XML配置文件来配置日志系统,包括根Logger、非根Logger、Appender、Filter、Layout等的配置。 - **基本配置**:包括根Logger的配置、非根Logger的配置等。 - **高级配置**:涉及到Appender配置、...
1. 移除Log4j相关依赖:从项目的`pom.xml`或构建配置中移除`log4j`和`slf4j-log4j12`的依赖。这两个依赖分别是Log4j的核心库和SLF4J到Log4j的适配器。 ```xml <groupId>log4j <artifactId>log4j <groupId>org...
根据提供的标题、描述以及部分内容,本文将详细解析与dom4j相关的日志配置知识...无论是控制台输出还是文件输出,亦或是按时间或文件大小进行滚动,都能够轻松实现。这对于提高系统的可维护性和性能都有着重要的意义。
要使用`DailyRollingFileAppender`,首先需要在log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)中进行设置。下面是一个基本的配置示例: ```xml <appender name="dailyLog" class="org.apache.log4j....
这个配置中,`RollingFileAppender`定义了日志写入到`logs/catalina.log`文件,并使用`TimeBasedRollingPolicy`按日期进行滚动,每天生成一个新的日志文件,最多保留30天的历史日志。`encoder`部分则设置了日志的...
Log4j支持日志文件的滚动,可以按照日期、大小等条件自动创建新的日志文件,防止单个日志文件过大导致管理困难。 7. **MDC与NDC**: 异常处理中,Mapped Diagnostic Context(MDC)和Nested Diagnostic Context...
- **日志框架**:如Java的Log4j、Logback,Python的logging等,提供灵活的日志配置和处理能力。 - **日志滚动**:系统自动根据设定的策略(如日期、文件大小)创建新的日志文件,避免单个文件过大难以管理。 - **...
虽然Tomcat自带了JULI,但很多开发者更倾向于使用如Log4j或Logback这样的日志框架,因为它们功能更强大,配置更灵活。要在Tomcat中使用这些框架,需要排除JULI并引入新框架的依赖。 6. **监控与报警** 为了实时...
例如,`du -sh /var/log`将显示`/var/log`目录的总大小。 ### 38. 查找或删除正在使用某文件的进程 - **命令**: `lsof -i filename` - **描述**: 使用`lsof`命令可以查找正在使用某个文件的所有进程。例如,`lsof -...