前言
至於slf4j和log4j還有其他日誌工具的關係這裏就不具體說明。
具體可參考如下:
https://www.techug.com/post/how-log4j-designed.html
初識slf4j
- 創建Maven項目
這裏使用IDEA工具:
其他參數默認即可。。。
- 添加依賴到pom.xml
<dependencies>
<!-- 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>
</dependencies>
- 添加資源log4j.properties
在 src/main/resources/ 下創建 log4j.properties,內容如下:
注意修改輸出的路徑
### 設置###
log4j.rootLogger = debug,stdout,D,E,I
### 輸出信息到控制擡 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n
### 輸出DEBUG 級別以上的日誌到=E://project//LoggerTest//target//log//debug.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = E://project//LoggerTest//target//log//debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 輸出ERROR 級別以上的日誌到=E://project//LoggerTest//target//log//error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = E://project//LoggerTest//target//log//error.log
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
### 輸出INFO 級別以上的日誌到=E://project//LoggerTest//target//log//info.log ###
log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.File = E://project//LoggerTest//target//log//info.log
log4j.appender.I.Append = true
log4j.appender.I.Threshold = INFO
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
- 編寫測試代碼
package cn.com.gyt;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LoggerTesting {
public static void main(String[] args) {
Logger logger = LoggerFactory.getLogger("SimpleLogger");
logger.info("info messages!");
logger.debug("debug messages!");
logger.error("error messages!");
}
}
項目結構: