[英]Logger not printing with log4j.properties within Spring Boot 1.5.7
我正在使用slf4j-api進行日志記錄,並使用log4j作為記錄程序。 但是在我的Spring Boot項目中,在log4j.properties
中沒有顯示帶有自定義log4j設置的正確日志。
聚甲醛
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>
log4j.properties :
# Root logger option
log4j.rootLogger=INFO, stdout
# Direct log messages to stdout
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=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
它顯示如下內容:
2018-10-29 13:47:40.601 INFO 7740 --- [nio-8080-exec-1] k.a.o.controller.CustomController : 2018-08-02 2018-08-04
因此,它不會顯示記錄它的行。 我還應該添加其他內容嗎?
slf4j-api本身不提供日志記錄系統的任何具體實現。 如果需要,它是一組接口。
因此,僅添加slf4j-api是不夠的。
正如評論中所建議的那樣,Logback包含日志系統的實際實現。 如果您希望使用零日志記錄配置,則可以顯式導入該庫,請確保已導入spring-boot-starter-logging。
因此,應該使用logback作為log4j的替代方法,log4j也是日志系統的真實實現(也可以使用,但坦白地說,logback在功能方面優於log4j1,所以我看不出有任何理由要做所以)。
登錄后,設置它的方法是在資源中提供logback.xml文件,該文件中應包含您所需的任何配置。
如果要讓默認記錄器打印所需的圖案,只需在application.properties
添加以下內容:
logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
Spring Boot提供Logback
作為其默認記錄器。 另外,在CLASSPATH
添加logback.xml
可以使您更好地配置其他所有內容,例如Appenders
, Patterns
等( 也可以通過application.properties
進行相同操作 )。
正如@MarkBrammik已經提到的那樣, sl4j
只是一個抽象,因此還不夠。 我們使用sl4j
作為接口來利用其他具體的日志API,例如Logback
, log4j
, JDK(java.util.logging)
等。
另外,如果要使用log4j
,則必須在pom.xml
添加以下依賴項
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j</artifactId>
</dependency>
然后您可以使用放在CLASSPATH
的log4j.properties
對其進行進一步配置。 如果您使用log4j
,則必須從Spring依賴項中排除Logback
,否則您可能會得到Class path contains multiple SLF4J bindings
錯誤:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
您可以查看下面提供的鏈接以獲取更多信息,我希望您會發現它有用: https : //docs.spring.io/spring-boot/docs/current/reference/html/boot-features-logging.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.