1. 程式人生 > >idea+maven配置log4j詳解

idea+maven配置log4j詳解

經過上一篇的講解,知道了實現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