JAVA Tomcat Log4j 日誌輸出到文件

工程引用

    Log4j.jar

   要輸出日誌的類中引用

    import org.apache.log4j.Logger;
    import org.apache.log4j.PropertyConfigurator;

 

創建log4j.properties配置文件(UTF-8)

記住存儲位置,使用PropertyConfigurator.configure加載

內容:

### 設置日誌級別 ###
log4j.rootLogger=debug,stdout,logfile,WeiXinPay 

### 輸出到控制檯 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern = [ %p ] - [ %l ] %m%n

### 每天產生一個日誌文件 ###
log4j.appender.logfile = org.apache.log4j.DailyRollingFileAppender
### 文件大小到達指定尺寸的時候產生一個新的文件 ###
#log4j.appender.logfile = org.apache.log4j.RollingFileAppender  
### 指定日誌文件名與路徑 ###
log4j.appender.logfile.File = myapplog/log4j.log  
### 文件的最大尺寸 ###
log4j.appender.logfile.MaxFileSize = 512KB 
### 日誌是否追加 ###
log4j.appender.logfile.Append=true
### 日誌文件後綴追加 ###
log4j.appender.logfile.datePattern='_'yyyy-MM-dd-HH-mm'.log'
### 最大記錄文件數 覆蓋 ###
log4j.appender.logfile.MaxBackupIndex = 3  
### 日誌記錄字符集 ###
log4j.appender.logfile.Encoding=UTF-8
### PatternLayout佈局就要指定的打印信息的具體格式 ###
log4j.appender.logfile.layout = org.apache.log4j.PatternLayout 
 ### PatternLayout佈局就要指定的打印信息的具體格式 ###
log4j.appender.logfile.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %p ] - [ %l ] %m%n

### 每天產生一個日誌文件 ###
log4j.appender.WeiXinPay = org.apache.log4j.DailyRollingFileAppender
### 文件大小到達指定尺寸的時候產生一個新的文件 ###
#log4j.appender.WeiXinPay = org.apache.log4j.RollingFileAppender  
### 指定日誌文件名與路徑 ###
log4j.appender.WeiXinPay.File = myapplog/WeiXinPay/log.log  
### 文件的最大尺寸 ###
log4j.appender.WeiXinPay.MaxFileSize = 512KB 
### 日誌是否追加 ###
log4j.appender.WeiXinPay.Append=true
### 日誌文件後綴追加 ###
log4j.appender.WeiXinPay.datePattern='_'yyyy-MM-dd-HH-mm'.log'
### 最大記錄文件數 覆蓋 ###
log4j.appender.WeiXinPay.MaxBackupIndex = 3  
### 日誌記錄字符集 ###
log4j.appender.WeiXinPay.Encoding=UTF-8
### PatternLayout佈局就要指定的打印信息的具體格式 ###
log4j.appender.WeiXinPay.layout = org.apache.log4j.PatternLayout 
 ### PatternLayout佈局就要指定的打印信息的具體格式 ###
log4j.appender.WeiXinPay.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [ %p ] - [ %l ] %m%n

其中WeiXinPay是我java工程名稱,可以是其它名稱,Logger.getLogger時注意填寫正確就行了,可以多個工程,添加對應標籤就行了

### 指定日誌文件名與路徑 ###
log4j.appender.WeiXinPay.File = myapplog/WeiXinPay/log.log

目錄是以log4j.properties所有文件夾爲根目錄

我的log4j.properties配置文件在C:\\Program Files\\Apache Software Foundation\\Tomcat 9.0文件夾下

按照配置文件生成的日誌文件會在C:\\Program Files\\Apache Software Foundation\\Tomcat 9.0\\myapplog\\WeiXinPay\\下面

 

初始化

//WeiXinPay是我的JAVA工程名稱,log4j.properties配置文件中有設置,你也可以起任意名字

    private static Logger logger = Logger.getLogger("WeiXinPay");//API.class.getName());

// 加載log4j.properties配置文件
    PropertyConfigurator.configure("C:\\Program Files\\Apache Software Foundation\\Tomcat 9.0\\log4j.properties");

測試

        logger.debug("Here is some DEBUG");  
        logger.info("Here is some INFO");  
        logger.warn("Here is some WARN");  
        logger.error("Here is some ERROR");  
        logger.fatal("Here is some FATAL"); 

日誌文件內容

2018-09-04 15:35:57 [ DEBUG ] - [ com.xxxxxxxx.API.init(API.java:67) ] Here is some DEBUG
2018-09-04 15:35:57 [ INFO ] - [ com.xxxxxxxx.API.init(API.java:68) ] Here is some INFO
2018-09-04 15:35:57 [ WARN ] - [ com.xxxxxxxx.API.init(API.java:69) ] Here is some WARN
2018-09-04 15:35:57 [ ERROR ] - [ com.xxxxxxxx.API.init(API.java:70) ] Here is some ERROR
2018-09-04 15:35:57 [ FATAL ] - [ com.xxxxxxxx.API.init(API.java:71) ] Here is some FATAL

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章