• Log4j使用笔记:每天生成一个日志文件、按日志大小生成文件


    这里写图片描述

    其中TestLog4j.java如下:

    package cn.zhoucy.test;
    
    import org.apache.log4j.Logger;
    
    public class TestLog4j {
    
        private static Logger logger=Logger.getLogger(TestLog4j.class); // 获取logger实例 
    
        public static void main(String[] args) {
    
            logger.debug("调试debug信息");
            logger.info("普通Info信息");
            logger.warn("警告warn信息");
            logger.error("error信息");       
            logger.fatal("严重错误fatal信息");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    log4j.properties如下:

    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 = E://File.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 = E://DailyRollingFile.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 = E://RollingFile.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
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    由配置文件:Console 和File是常规的控制台和文件输出,而DailyRollingFile 和RollingFile分别是按天生成,和按日志文件指定大小生成文件。
    运行后,控制台输出如下:

    这里写图片描述

    查看E盘根目录(我运行了7次程序,期间为了演示每天生成,改过两次电脑日期):

    这里写图片描述

    这里的File.log就是普通的输出,追加的方式。

    2、每天生成一个日志文件

    首先来看下配置:

    #DailyRollingFile
    log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.DailyRollingFile.File = E://DailyRollingFile.log
    log4j.appender.DailyRollingFile.layout = org.apache.log4j.PatternLayout
    log4j.appender.DailyRollingFile.layout.ConversionPattern =%d [%t] %-5p [%c] - %m%n
    • 1
    • 2
    • 3
    • 4
    • 5

    关键配置就两行:
    第1行:

    log4j.appender.DailyRollingFile = org.apache.log4j.DailyRollingFileAppender
    • 1

    就表明是每天生成一个日志文件。

    第2行:

    log4j.appender.DailyRollingFile.File = E://DailyRollingFile.log
    • 1

    表明生成的日志文件名称,不过要注意,这里表示的是当天的文件名字,历史文件会以日期结尾。
    最后两行在上一篇Log4j使用笔记(一)讲过,指明输出格式的。

    3、按指定大小生成文件

    有的时候,会需要指定文件大小,比如说,日志文件生成到了1M,就新生成一个日志文件,同时可以指定一共可以生成的最大文件数。配置文件如下:

    #RollingFile
    log4j.appender.RollingFile = org.apache.log4j.RollingFileAppender
    log4j.appender.RollingFile.File = E://RollingFile.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
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    关键的就是第3行和第4行:

    log4j.appender.RollingFile.MaxFileSize=1KB
    log4j.appender.RollingFile.MaxBackupIndex=3
    • 1
    • 2

    表示的是,每个生成的日志最大是1KB,允许生成的最多文件数量是3,即是文件数量达到上限3个以后,则覆盖之前的文件。

    附:log4j-1.2.17下载地址http://download.csdn.net/detail/theblackbeard/9820176

  • 相关阅读:
    让Oracle的 SHOW PARAMETER 命令显示隐藏参数
    insufficient privileges for 'SYS' when 'shutdown immediate'
    ROW_NUMBER
    Oracle RAC 环境下的连接管理
    git报错:fatal: bad config line 1 in file C:/Users/JIANGXIAOLIANG/.gitconfig
    MVC教程:授权过滤器
    MVC教程:MVC区域路由
    ES6语法:let和const
    git基本操作:分支管理
    Vue:计算属性
  • 原文地址:https://www.cnblogs.com/wang3680/p/7690607.html
Copyright © 2020-2023  润新知