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--- 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM