經過上一篇的講解,知道了實現log4j打印日志依賴的jar包共3個,在pom.xml中加入相關依賴:
<!-- 添加log4j日志相關jar包:共3個jar--> <!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>1.7.25</version> </dependency> <!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>1.7.25</version> <scope>test</scope> </dependency>
第二步,在項目的 src/test/resource目錄下新建log4j.properties文件,文件內容為:
### set log levels ###
log4j.rootLogger = debug,stdout,R
### console appender###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.Threshold = Info
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d [%t] %p [%c] - %m%n
### output to files ###
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
log4j.appender.R.File = logs/log.txt
log4j.appender.R.Append = true
log4j.appender.R.Threshold = Info
log4j.appender.R.layout = org.apache.log4j.PatternLayout
#log4j.appender.R.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss}-[%p]%m%n
log4j.appender.R.layout.ConversionPattern = %d [%t] %p [%c] - %m%n
第三步,編寫測試代碼
import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class Log4jTest { public static void main(String[] args) { Logger LOG = LoggerFactory.getLogger(Log4jTest.class); LOG.info("開始記錄日志..."); LOG.info("循環打印0到10之間的整數"); for(int i=0;i<10;i++) { System.out.println(i); } LOG.info("結束日志!"); } }
執行結果:
2018-11-30 12:54:53,071 [main] INFO [Log4jTest] - 開始記錄日志... 2018-11-30 12:54:53,071 [main] INFO [Log4jTest] - 循環打印0到10之間的整數 0 1 2 3 4 5 6 7 8 9 2018-11-30 12:54:53,071 [main] INFO [Log4jTest] - 結束日志! Process finished with exit code 0
第四步,在項目的相應目錄下面查看生成的log文件,測試代碼log日志所在路徑為 /logs/log.txt