zoukankan      html  css  js  c++  java
  • log4j配置文件及java调用 每个级别输出到不同的文件

    #配置根Logger
    log4j.rootLogger = DEBUG , RollingFile,CONSOLE
    
    
    #文件大小达到一定尺寸的时候创建一个新的文件
    log4j.appender.RollingFile=org.apache.log4j.RollingFileAppender  
    #指定消息的最低层次
    log4j.appender.RollingFile.Threshold=DEBUG 
    #消息立即输出 默认为true
    log4j.appender.RollingFile.ImmediateFlush=true  
    #指定消息输出到mylog.txt文件。
    log4j.appender.RollingFile.File=/sdzw/ibp/log/project/RollingLog.log   
    #将消息增加到指定文件中 默认值是true false指将消息覆盖指定的文件内容
    log4j.appender.RollingFile.Append=true
    #后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到mylog.log.1文件
    log4j.appender.RollingFile.MaxFileSize=50MB  
    #指定可以产生的滚动文件的最大数
    log4j.appender.RollingFile.MaxBackupIndex=10
    log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout  
    log4j.appender.RollingFile.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l]  [%x] --> %n %m %n
    
    
    #控制台
    log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender   
    log4j.appender.CONSOLE.Threshold=DEBUG 
    log4j.appender.CONSOLE.ImmediateFlush=true  
    #指定输出控制台 默认System.out
    log4j.appender.CONSOLE.Target=System.err   
    log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
    log4j.appender.CONSOLE.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l]  [%x] --> %n %m %n
    
    
    #每天产生一个日志文件
    log4j.logger.aaa= info,DailyRollingFile
    #是否集成到rootLogger输出 
    log4j.additivity.aaa=false 
    
    log4j.appender.DailyRollingFile=org.apache.log4j.DailyRollingFileAppender  
    log4j.appender.DailyRollingFile.Threshold=DEBUG  
    log4j.appender.DailyRollingFile.ImmediateFlush=true  
    log4j.appender.DailyRollingFile.File=/sdzw/ibp/log/project/DailyLog.log   
    log4j.appender.DailyRollingFile.Append=true
    #指定文件滚动频率 '.'yyyy-MM: 每月 '.'yyyy-ww: 每周  '.'yyyy-MM-dd: 每天 '.'yyyy-MM-dd-a: 每天的午夜和正午更新一个log日志 '.'yyyy-MM-dd-HH: 每小时 '.'yyyy-MM-dd-HH-mm: 每分钟
    log4j.appender.DailyRollingFile.DatePattern='.'yyyy-ww  
    log4j.appender.DailyRollingFile.layout=org.apache.log4j.PatternLayout  
    log4j.appender.DailyRollingFile.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l]  [%x] --> %n %m %n
    
    
    
    #配置日志信息的格式 
    #org.apache.log4j.HTMLLayout(以HTML表格形式布局) 
    #org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
    #org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
    #org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
    
    #HTMLLayout 选项
    #log4j.appender.****.layout=org.apache.log4j.HTMLLayout
    #默认值是false,输出java文件名称和行号   
    #og4j.appender.****.layout.LocationInfo=true
    #默认值是 Log4J Log Messages
    #og4j.appender.****.layout.Title=my app file
    
    #SimpleLayout
    # log4j.appender.logfile.layout = org.apache.log4j.SimpleLayout
    
    #XMLLayout 选项
    #log4j.appender.****.layout=org.apache.log4j.XMLLayout
    #默认值是false,输出java文件名称和行号   
    #og4j.appender.****.layout.LocationInfo=true
    
    #文件
    log4j.appender.FILE=org.apache.log4j.FileAppender 
    log4j.appender.FILE.Threshold=DEBUG  
    log4j.appender.FILE.ImmediateFlush=true  
    log4j.appender.FILE.File=/sdzw/ibp/log/project/FileLog.log   
    log4j.appender.FILE.Append=true
    log4j.appender.FILE.layout=org.apache.log4j.PatternLayout   
    log4j.appender.FILE.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l]  [%x] --> %n %m %n
    
    
    #邮件
    log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender   
    log4j.appender.MAIL.Threshold=DEBUG   
    log4j.appender.MAIL.BufferSize=10
    log4j.appender.MAIL.From=yourmail@gmail.com  
    log4j.appender.MAIL.SMTPHost=smtp.gmail.com  
    log4j.appender.MAIL.Subject=Log4J Message   
    log4j.appender.MAIL.To=yourmail@gmail.com   
    log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout   
    log4j.appender.MAIL.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l]  [%x] --> %n %m %n
    
    
    #数据库
    #数据库的链接会有问题,可以重写org.apache.log4j.jdbc.JDBCAppender的getConnection() 使用数据库链接池去得链接,可以避免insert一条就链接一次数据库
    log4j.appender.DATABASE=org.apache.log4j.jdbc.JDBCAppender   
    log4j.appender.DATABASE.URL=jdbc:mysql://localhost:3306/test 
    log4j.appender.DATABASE.driver=com.mysql.jdbc.Driver   
    log4j.appender.DATABASE.user=root   
    log4j.appender.DATABASE.password=   
    log4j.appender.DATABASE.sql=INSERT INTO SS_LOG4J_LOG (PRIORITY,LOGDATE,CLASS,METHOD,MSG) VALUES('%p','%d{yyyy-MM-dd HH:mm:ss}','%C','%M','%m')  
    log4j.appender.DATABASE.layout=org.apache.log4j.PatternLayout  
    log4j.appender.DATABASE.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l]  [%x] --> %n %m %n
    
    
    #socket
    log4j.appender.SOCKET=org.apache.log4j.RollingFileAppender   
    log4j.appender.SOCKET.RemoteHost=localhost   
    log4j.appender.SOCKET.Port=5001
    log4j.appender.SOCKET.LocationInfo=true
    log4j.appender.SOCKET.layout=org.apache.log4j.PatternLayout   
    log4j.appender.SOCET.layout.ConversionPattern=%40d{[yyyy-MM-dd HH:mm:ss-S]} [%-5p] [ %-3.3r] [%-10.10c] [%l]  [%x] --> %n %m %n

    调用:

    public class TestLog {
    
        Logger logger = Logger.getLogger(TestLog.class);
        Logger logger2 = Logger.getLogger("aaa");
        private void test1() {
            logger.debug("debug---");
            logger.info("info---");
            logger.error("warn---");
            
            logger2.debug("debug2---");
            logger2.info("info2---");
            logger2.error("warn2---");
        }
        
        public static void main(String[] args) {
            TestLog testLog = new TestLog();
            testLog.test1();
    
        }
    
    }
    RollingLog.log文件:
                   [2017-06-28 15:18:22-731] [DEBUG] [ 0  ] [st.TestLog] [com.test.TestLog.test1(TestLog.java:10)]  [] --> 
     debug--- 
                   [2017-06-28 15:18:22-735] [INFO ] [ 4  ] [st.TestLog] [com.test.TestLog.test1(TestLog.java:11)]  [] --> 
     info--- 
                   [2017-06-28 15:18:22-736] [ERROR] [ 5  ] [st.TestLog] [com.test.TestLog.test1(TestLog.java:12)]  [] --> 
     warn--- 
    
    DailyLog.log 文件:
                   [2017-06-28 15:06:23-191] [INFO ] [ 12 ] [aaa       ] [com.test.TestLog.test1(TestLog.java:15)]  [] --> 
     info2--- 
                   [2017-06-28 15:06:23-192] [ERROR] [ 13 ] [aaa       ] [com.test.TestLog.test1(TestLog.java:16)]  [] --> 
     warn2--- 
  • 相关阅读:
    vmware ubuntu 异常关机无法连接到网络
    Speed up GCC link
    常用的一些解压命令
    Log4j 漏洞复现
    Test Case Design method Boundary value analysis and Equivalence partitioning
    CCA (Citrix Certified Administrator) exam of “Implementing Citrix XenDesktop 4”
    What is Key Word driven Testing?
    SAP AGS面试小结
    腾讯2013终端实习生一面
    指针的引用
  • 原文地址:https://www.cnblogs.com/wangguoning/p/7089892.html
Copyright © 2011-2022 走看看