第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring Boot 和 Log4J2 的奇怪行為

Spring Boot 和 Log4J2 的奇怪行為

Smart貓小萌 2023-12-13 15:00:39
運行 Spring Boot 應用程序時,我遇到了一些奇怪的問題。它已配置為使用 Log4J2 作為其記錄器(Logback 記錄器已被禁用)。log4j2.xml:<Configuration status="WARN" monitorInterval="30">  <Properties>    <Property name="serviceName">$${sys:service.name}</Property>    <Property name="serviceId">$${sys:service.id}</Property>    <Property name="LOG_PATTERN">      [%d{yyyy-MM-dd HH:mm:ss.SSS}] %t %-5p: %c{2}:%L - %m%n    </Property>運行 Spring Boot 應用程序時,我遇到了一些奇怪的問題。它已配置為使用 Log4J2 作為其記錄器(Logback 記錄器已被禁用)。log4j2.xml:<Configuration status="WARN" monitorInterval="30">  <Properties>    <Property name="serviceName">$${sys:service.name}</Property>    <Property name="serviceId">$${sys:service.id}</Property>    <Property name="LOG_PATTERN">      [%d{yyyy-MM-dd HH:mm:ss.SSS}] %t %-5p: %c{2}:%L - %m%n    </Property>    <Property name="STATS_PATTERN">      %m%n    </Property>    <Property name="logFile">logs/$${sys:service.name}-$${sys:service.id}</Property>    <Property name="statsFile">metrics/$${sys:service.name}-$${sys:service.id}_stats.json</Property>    <!--    <Property name="logFile">logs/${serviceName}-${serviceId}</Property>    <Property name="statsFile">metrics/${serviceName}-${serviceId}_stats.json</Property>    -->  </Properties>  <Appenders>    <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">      <PatternLayout pattern="${LOG_PATTERN}" />    </Console>    <RollingFile name="RollingFile" fileName="${logFile}.current-session.log"      filePattern="${logFile}.%i.log.gz" ignoreExceptions="false">      <PatternLayout>        <Pattern>${LOG_PATTERN}</Pattern>      </PatternLayout>      <Policies>        <OnStartupTriggeringPolicy />        <SizeBasedTriggeringPolicy size="10 MB" />      </Policies>      <DefaultRolloverStrategy max="10" />    </RollingFile>    <File name="StatsFile" fileName="${statsFile}" append="false">      <PatternLayout>        <Pattern>${STATS_PATTERN}</Pattern>      </PatternLayout>
查看完整描述

1 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

對于您的主要問題log4j2.xml,您應該使用您的文件名,log4j2-spring.xml因為這樣您就可以讓 Spring Boot 更好地控制 Log4j2。

好處之一是可以整合您缺少的變量。這可能是由于使用log4j2.xml文件使得log4j2在spring boot之前初始化,而使用log4j2-spring.xmlmakes Spring Boot來初始化log4j2。

正如SpringBoot 文檔所述:

如果可能,我們建議您使用 -spring 變體進行日志記錄配置(例如,logback-spring.xml 而不是 logback.xml)。如果使用標準配置位置,Spring 無法完全控制日志初始化。

對于你的第二個問題,因為你有 2 個記錄器......簡單地說:

?<Loggers>

? ? <Logger name="<package>.StatsWriter" level="info" additivity="false">

? ? ? <AppenderRef ref="StatsFile" />? ?<---- This one creates your file

? ? </Logger>


? ? <Root level="info">

? ? ? <AppenderRef ref="ConsoleAppender" />

? ? </Root>

? </Loggers>

關于你的第三個問題

我對 application-"profile".yml 和 log4j2-spring.xml 的引用有點困惑。我不熟悉這些文件名的這些變體。這些變化(兩種文件類型)的意義是什么?

它的變體application-"profile".xxx是允許 Spring Boot 根據這些配置文件采取不同配置的一種方式。您可以使用“dev”參數(shù)(本地開發(fā)數(shù)據庫)啟動應用程序,但在生產中您可以使用不同的參數(shù)。您可以控制如何通過不同的方式引導不同的配置文件,一種非常常見的方式是執(zhí)行您的應用程序,例如java -jar -Dspring.profiles.active=prod application.jar

與 相關log4j2-spring.xml,如上所述,允許 Spring Boot 正確初始化 log4j2 (或您使用的任何日志記錄工具)。


查看完整回答
反對 回復 2023-12-13
  • 1 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號