工程引用
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