我已經創建了一個公共日志 back-common.xml。我想在另一個檔案中使用這個檔案 - logback.spring.xml。請幫助我如何有效地使用它。
截至目前,應用程式正在啟動,但日志未列印在控制臺中,并且日志未填充到日志檔案中。請幫忙。不要將其標記為重復,因為我幾乎嘗試了所有方法,并且為此投入了 2 天。與此相關的其他問題沒有附加有效答案。
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property resource ="application.yml"/>
<springProperty name="NAME" source="spring.application.name" />
<include file="logback-common.xml"/>
</configuration>
logback-common.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<property name="LOGS" value="./logs" />
<appender name="Console"
>
<layout >
<Pattern>
%black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
</Pattern>
</layout>
</appender>
<appender name="RollingFile"
>
<file>${LOGS}/${NAME}.log</file>
<encoder
>
<Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
</encoder>
<rollingPolicy
>
<!-- rollover daily and when the file reaches 10 MegaBytes -->
<fileNamePattern>${LOGS}/archived/spring-boot-logger-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
>
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- LOG everything at INFO level -->
<root level="info">
<appender-ref ref="RollingFile" />
<appender-ref ref="Console" />
</root>
<!-- LOG "com.baeldung*" at TRACE level -->
<logger name="com.ms" level="trace" additivity="false">
<appender-ref ref="RollingFile" />
<appender-ref ref="Console" />
</logger>
<logger name="org.springframework.core.env.PropertySourcesPropertyResolver" level="trace" additivity="true">
</logger>
</configuration>
應用程式.yml
spring:
application:
name: Logbacking-service

uj5u.com熱心網友回復:
您需要在下面為您的子配置使用“資源”而不是“檔案”(因為它存在于類路徑中)
<include resource="logback-common.xml"/>
當 logback 在初始階段被引導時,當 logback 能夠找到并加載所有組態檔時,您會看到控制臺上列印的資訊。
更新:-關于您分享的錯誤-您還需要included在子組態檔中使用標簽而不是configuration標簽。在下面的配置中進行了測驗,對我來說效果很好。
logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property resource ="application.yml"/>
<springProperty name="NAME" source="spring.application.name" />
<include resource="logback-common.xml"/>
</configuration>
和子配置為
logback-common.xml
<?xml version="1.0" encoding="UTF-8"?>
<included>
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<property name="LOGS" value="./logs" />
<appender name="Console"
>
<layout >
<Pattern>
%black(%d{ISO8601}) %highlight(%-5level) [%blue(%t)] %yellow(%C{1.}): %msg%n%throwable
</Pattern>
</layout>
</appender>
<appender name="RollingFile"
>
<file>${LOGS}/${NAME}.log</file>
<encoder
>
<Pattern>%d %p %C{1.} [%t] %m%n</Pattern>
</encoder>
<rollingPolicy
>
<!-- rollover daily and when the file reaches 10 MegaBytes -->
<fileNamePattern>${LOGS}/archived/spring-boot-logger-%d{yyyy-MM-dd}.%i.log
</fileNamePattern>
<timeBasedFileNamingAndTriggeringPolicy
>
<maxFileSize>10MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
</appender>
<!-- LOG everything at INFO level -->
<root level="info">
<appender-ref ref="RollingFile" />
<appender-ref ref="Console" />
</root>
<logger name="com.ms" level="trace" additivity="false">
<appender-ref ref="RollingFile" />
<appender-ref ref="Console" />
</logger>
<logger name="org.springframework.core.env.PropertySourcesPropertyResolver" level="trace" additivity="true">
</logger>
</included>

轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/390081.html
標籤:弹簧靴 日志记录 登录 spring-logback
上一篇:ReactiveMongoRepository無法保存到資料庫
下一篇:如何在Java投影中設定變數?
