簡體   English   中英

在運行時通過外部屬性文件更改日志記錄中的日志級別

[英]Change log level in logback at run time via external property file

我想更改日志級別而不重啟服務器。 我使用weblogic服務器。 為此,我想通過外部文件( LOGBackIncludedFile.xml )傳遞日志級別,並在logback <include file>提供此文件路徑。 我無法對路徑進行硬編碼,因為該路徑在DevUATProduction是不同的。 我想將此文件包含在Weblogic 12C服務器內的某個位置。 因此,我可以更改日志級別而無需觸碰ear文件。

<configuration  scan="true"  scanPeriod="30 seconds">

   <include file="../../LOGBackIncludedFile.xml" />
   <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender" >
       <encoder>
         <pattern>%date %-5level [%logger] > %msg%n</pattern>
       </encoder>
  </appender>

  <root level="${root.level:-DEBUG}">          
    <appender-ref ref="STDOUT" />
  </root>  
</configuration>

以下是LOGBackIncludedFile.xml

<included>
  <property value="INFO" name="root.level"/>
</included>

當我使用此現有xml時,出現此錯誤。

 java.io.FileNotFoundException: /usrXX/appXX/oracle/product/XXX/domains/XXXDomain/../../LOGBackIncludedFile.xml 

我的問題是如何在logback.xml中動態設置外部文件路徑。 路徑應指向特定的weblogic instance 當我將外部文件放入實例時。

例如: /usrxx/appxx/oracle/product/XXX/domains/xxxDomain/servers/myInstance/

如下設置文件路徑。 這是針對weblogic 12C的。

 <include optional="true" file="${DOMAIN_HOME}/servers/${SERVER_NAME}/LOGBackIncludedFile.xml" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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