• Log4j appender输出类型配置


    Log4j官方的appender给出了一下几种实现

    org.apache.log4j.ConsoleAppender(控制台),  

    org.apache.log4j.FileAppender(文件),  

    org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),  

    org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),  

    org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

    实际开发我们使用第1,第3和第4种实现;

    假如日志数据量不是很大,我们可以用DailyRollingFileAppender 每天产生一个日志,方便查看;

    假如日志数据量很大,我们一般用RollingFileAppender,固定尺寸的日志,假如超过了 就产生一个新的文件;

    我们这里给出一些实例;

    log4j.rootLogger=DEBUG, Console ,File ,DailyRollingFile ,RollingFile
        
    #Console  
    log4j.appender.Console=org.apache.log4j.ConsoleAppender  
    log4j.appender.Console.layout=org.apache.log4j.PatternLayout  
    log4j.appender.Console.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
        
    #File
    log4j.appender.File = org.apache.log4j.FileAppender
    log4j.appender.File.File = C://log2.log
    log4j.appender.File.layout = org.apache.log4j.PatternLayout
    log4j.appender.File.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
     
    #DailyRollingFile
    log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.DailyRollingFile.File = C://log3.log
    log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout
    log4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
     
    #RollingFile
    log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
    log4j.appender.RollingFile.File = C://log4.log
    log4j.appender.RollingFile.MaxFileSize=1KB
    log4j.appender.RollingFile.MaxBackupIndex=3
    log4j.appender.RollingFile.layout = org.apache.log4j.PatternLayout
    log4j.appender.RollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n

    测试代码:

    package com.open1111;
     
    import org.apache.log4j.Logger;
     
    public class Test {
     
        private static Logger logger=Logger.getLogger(Test.class); // 获取logger实例
         
        public static void main(String[] args) {
            logger.info("普通Info信息");
            logger.debug("调试debug信息");
            logger.error("报错error信息");
            logger.warn("警告warn信息");
            logger.fatal("严重错误fatal信息");
             
            logger.error("报错信息", new IllegalArgumentException("非法参数"));
            int i=0;
            while(i<10000){
                logger.debug(" RollingFile 调试debug信息");
                logger.debug(" RollingFile 调试debug信息");
                logger.debug(" RollingFile 调试debug信息");
                logger.debug(" RollingFile 调试debug信息");
                logger.debug(" RollingFile 调试debug信息");
                i++;
            }
        }
         
    }

    这里有两个新的配置项解释下:

    MaxFileSize 是日志文件的最大尺寸;根据实际需求来定 10KB 100KB也行

    MaxBackupIndex是日志文件的个数,假如超过了,则覆盖,主要考虑到的是硬盘的容量问题;根据实际需求来定 比如 100  500;

    这里给下日志文件的效果:

    DailyRollingFileAppender  效果:

    QQ鎴�浘20170328152805.jpg

    RollingFileAppender 效果:

    QQ鎴�浘20170328153449.jpg

  • 相关阅读:
    简单的冒泡排序算法(java)
    寻找两个数组中的公共元素Java程序代码
    利用快速排序求两集合交集
    一种简单的吉布斯采样modify中应用
    递归生成小于某个数的所有集合
    卡拉曼算法简答程序
    模态对话框退出DoModal过程中需注意的陷阱
    是否可以使用空对象指针调用成员函数及访问成员变量
    windows c++如何使窗口动态改变位置
    windows的滚动条使用
  • 原文地址:https://www.cnblogs.com/wqsbk/p/6817886.html
Copyright © 2020-2023  润新知