zoukankan      html  css  js  c++  java
  • Log4j官方文档翻译(八、文件输出)

    使用org.apache.log4j.FileAppender可以把日志写到文件中:

    FileAppender配置

    • immediateFlush 这个标志默认为true,是否每次有消息产生都自动flush到文件中
    • encoding 字符编码
    • threshold appender的阈值threshold
    • Filename 日志文件的名称
    • fileAppend 默认设置为true,所有的日志都输出到相同的文件
    • bufferedIO 是否启用缓冲区,默认是false
    • bufferSize 如果启用了缓冲区,设置缓冲区的大小。默认是8kb.

    下面是log4j.properties中FileAppender的相关配置:

    
    ##### Define the root logger with appender file
    log4j.rootLogger = DEBUG, FILE
    ##### Define the file appender
    log4j.appender.FILE=org.apache.log4j.FileAppender
    ##### Set the name of the file
    log4j.appender.FILE.File=${log}/log.out
    ##### Set the immediate flush to true (default)
    log4j.appender.FILE.ImmediateFlush=true
    ##### Set the threshold to debug mode
    log4j.appender.FILE.Threshold=debug
    ##### Set the append to false, overwrite
    log4j.appender.FILE.Append=false
    ##### Define the layout for file appender
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.conversionPattern=%m%n
    

    如果是配置XML的配置文件,可以参考如下:

    ``

    log4j:configuration

    ``

    多文件输出——日志轮转

    如果需要把日志文件写入到多个文件中,例如,按照文件的大小,到达一定的阈值后,就写入另一个文件。

    那么你可以使用apache.log4j.RollingFileAppender类,它继承了FileAppender,并能设置一些属性达到上面的需求。

    添加的属性如下:

    • maxFileSize 这是日志轮转的关键属性,设置了日志的大小阈值,默认是10MB
    • maxBackupIndex 这个属性设置了文件会被备份的数目,默认是1

    log4j.properties的配置如下

    
    ##### Define the root logger with appender file
    log4j.rootLogger = DEBUG, FILE
    ##### Define the file appender
    log4j.appender.FILE=org.apache.log4j.RollingFileAppender
    ##### Set the name of the file
    log4j.appender.FILE.File=${log}/log.out
    ##### Set the immediate flush to true (default)
    log4j.appender.FILE.ImmediateFlush=true
    ##### Set the threshold to debug mode
    log4j.appender.FILE.Threshold=debug
    ##### Set the append to false, should not overwrite
    log4j.appender.FILE.Append=true
    ##### Set the maximum file size before rollover
    log4j.appender.FILE.MaxFileSize=5KB
    ##### Set the the backup index
    log4j.appender.FILE.MaxBackupIndex=2
    ##### Define the layout for file appender
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.conversionPattern=%m%n
    

    如果你希望配置xml文件,那么只要把RollingFileAppender以及它的两个属性添加进去就可以了。

    上面的文件中,最大的文件大小为5kb,当超过这个大小后,就会创建新的文件;然后这个文件被命名为log.1;同理,如果有log.2就会重命名为log.3。如果索引数目最多设置为5,并且已经存在了log.5,那么log.5会被直接删除。

    多问键输出——日期轮转

    如果想要每天更新一下日志文件,那么可以使用org.apache.log4j.DailyRollingFileAppender。

    它增加的属性如下:

    • DatePattern 这个属性声明了命名规则,默认是每一天的半夜24点更新一次

    这个属性可以按照下面的方式书写:

    • '.'yyyy-MM 在每个月刚开始的时候更新一次
    • '.'yyyy-MM-dd 每天半夜24点的时候更新
    • '.'yyyy-MM-dd-a 每天12点和24点更新
    • '.'yyyy-MM-dd-HH 每个小时更新一次
    • '.'yyyy-MM-dd-HH-mm 每分钟更新一次
    • '.'yyyy-ww 每周的第一天更新

    log4j.properties的配置如下

    
    ##### Define the root logger with appender file
    log4j.rootLogger = DEBUG, FILE
    ##### Define the file appender
    log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender
    ##### Set the name of the file
    log4j.appender.FILE.File=${log}/log.out
    ##### Set the immediate flush to true (default)
    log4j.appender.FILE.ImmediateFlush=true
    ##### Set the threshold to debug mode
    log4j.appender.FILE.Threshold=debug
    ##### Set the append to false, should not overwrite
    log4j.appender.FILE.Append=true
    ##### Set the DatePattern
    log4j.appender.FILE.DatePattern='.' yyyy-MM-dd-a
    ##### Define the layout for file appender
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
    log4j.appender.FILE.layout.conversionPattern=%m%n
    

    同样,如果在xml中配置,添加相关的属性即可。

  • 相关阅读:
    解决mac os x下 tomcat启动报 java.net.BindException: Permission denied <null>:80 错误
    Mac下MySQL卸载方法 转载
    利用JS函数制作时钟运行程序
    HTML页面弹出窗口调整代码总结
    JavaScript代码放在HTML代码不同位置的差别
    二十五种网页加速方法和seo优化技巧
    web前端之Html和Css应用中的细节问题
    利用css制作横向和纵向时间轴
    利用html5看雪花飘落的效果
    利用jQuery实现鼠标滑过整行变色
  • 原文地址:https://www.cnblogs.com/xing901022/p/4856673.html
Copyright © 2011-2022 走看看