`
mzhj
  • 浏览: 227637 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

按日期、时间或大小生成log文件的log4j配置方案

阅读更多

按日期、时间或大小生成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同样提供了相应的解决方案。 首先,让我们深入理解如何自定义日志文件名。默认情况下,Log4j的日志文件名通常是固定的或者基于时间戳生成...

    log4j2所需的jar

    5. **插件系统**:Log4j2拥有一个丰富的插件库,包括各种Appender和Filter,如SMTP Appender(发送邮件通知)、RollingFileAppender(按日期或大小滚动日志文件)等。这使得Log4j2能够适应各种复杂的日志需求。 6. ...

    log4j 1.2.15

    Log4j的配置主要通过`log4j.properties`或`log4j.xml`文件进行。以下是一个基本的配置示例: ```properties # 配置控制台输出 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout....

    Log4J用法详解

    Log4J提供日志滚动功能,可以在日志文件达到一定大小或日期时自动创建新的日志文件。这对于长时间运行的应用程序非常有用,可以避免单个日志文件过大难以管理。 **日志管理和分析** Log4J生成的日志文件可以使用...

    Log4cplus使用指南

    Log4cplus支持XML配置文件来配置日志系统,包括根Logger、非根Logger、Appender、Filter、Layout等的配置。 - **基本配置**:包括根Logger的配置、非根Logger的配置等。 - **高级配置**:涉及到Appender配置、...

    如何将应用的log4j替换成logback详解

    1. 移除Log4j相关依赖:从项目的`pom.xml`或构建配置中移除`log4j`和`slf4j-log4j12`的依赖。这两个依赖分别是Log4j的核心库和SLF4J到Log4j的适配器。 ```xml <groupId>log4j <artifactId>log4j <groupId>org...

    dom4j 学习资料

    根据提供的标题、描述以及部分内容,本文将详细解析与dom4j相关的日志配置知识...无论是控制台输出还是文件输出,亦或是按时间或文件大小进行滚动,都能够轻松实现。这对于提高系统的可维护性和性能都有着重要的意义。

    log4jToDailyRollingFileAppender.zip

    要使用`DailyRollingFileAppender`,首先需要在log4j的配置文件(通常是`log4j.properties`或`log4j.xml`)中进行设置。下面是一个基本的配置示例: ```xml <appender name="dailyLog" class="org.apache.log4j....

    Tomcat日志catalina.out过大解决方案--使用logback按日轮转.rar

    这个配置中,`RollingFileAppender`定义了日志写入到`logs/catalina.log`文件,并使用`TimeBasedRollingPolicy`按日期进行滚动,每天生成一个新的日志文件,最多保留30天的历史日志。`encoder`部分则设置了日志的...

    log-for-java.rar

    Log4j支持日志文件的滚动,可以按照日期、大小等条件自动创建新的日志文件,防止单个日志文件过大导致管理困难。 7. **MDC与NDC**: 异常处理中,Mapped Diagnostic Context(MDC)和Nested Diagnostic Context...

    日志程序源码

    - **日志框架**:如Java的Log4j、Logback,Python的logging等,提供灵活的日志配置和处理能力。 - **日志滚动**:系统自动根据设定的策略(如日期、文件大小)创建新的日志文件,避免单个文件过大难以管理。 - **...

    tomcat 日志设置解决方案

    虽然Tomcat自带了JULI,但很多开发者更倾向于使用如Log4j或Logback这样的日志框架,因为它们功能更强大,配置更灵活。要在Tomcat中使用这些框架,需要排除JULI并引入新框架的依赖。 6. **监控与报警** 为了实时...

    \Linux一句话精彩回答.pdf

    例如,`du -sh /var/log`将显示`/var/log`目录的总大小。 ### 38. 查找或删除正在使用某文件的进程 - **命令**: `lsof -i filename` - **描述**: 使用`lsof`命令可以查找正在使用某个文件的所有进程。例如,`lsof -...

Global site tag (gtag.js) - Google Analytics