簡體   English   中英

記錄器無法在Spring Boot 1.5.7中使用log4j.properties打印

[英]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可以使您更好地配置其他所有內容,例如AppendersPatterns等( 也可以通過application.properties進行相同操作 )。

正如@MarkBrammik已經提到的那樣, sl4j只是一個抽象,因此還不夠。 我們使用sl4j作為接口來利用其他具體的日志API,例如Logbacklog4jJDK(java.util.logging)等。

另外,如果要使用log4j ,則必須在pom.xml添加以下依賴項

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j</artifactId>
</dependency>

然后您可以使用放在CLASSPATHlog4j.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM