2015-06-22 45 views
1

我想在不重新啓動服務器的情況下更改日誌級別。我使用weblogic服務器。爲此,我想從外部文件(LOGBackIncludedFile.xml)傳遞日誌級別,並在logback <include file>中提供此文件路徑。 我無法硬編碼路徑,因爲路徑不同於Dev,UAT,Production。我想將此文件包含在Weblogic 12C服務器內的某個位置。所以我可以更改日誌級別而不用觸及ear文件。通過外部屬性文件在運行時更改logback中的日誌級別

<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中動態設置外部文件路徑。路徑應該是特定的weblogicinstance。當我將外部文件放入我的實例中時。

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

+0

您可以通過管理控制檯更改日誌級別,WLST,JMX或...喜歡的東西http://176.34.122.30/blog/2010/04/22/dynamically-changing-log-level- with-weblogic-log4j-jmx-and-wlst /它對你有用,或者你在問別的東西嗎? –

+0

@DisplayNameismissing這樣的東西。但我無法更改任何服務器設置。所以我想到了一個簡單的方法。 –

回答

1

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

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