【问题标题】:Change log level in logback at run time via external property file通过外部属性文件在运行时更改 logback 中的日志级别
【发布时间】:2015-06-22 09:49:54
【问题描述】:

我想在不重新启动服务器的情况下更改日志级别。我使用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 中动态设置外部文件路径。路径应该是特定的weblogicinstance。当我将外部文件放入我的实例时。

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

【问题讨论】:

  • 您可以通过管理控制台、WLST 或 JMX 更改日志级别...176.34.122.30/blog/2010/04/22/… 之类的东西对您有用还是您在问其他问题?
  • @DisplayNameismissing 类似这样的东西。但我无法更改任何服务器设置。所以我正在考虑一种简单的方法。

标签: java logback weblogic12c


【解决方案1】:

如下设置文件路径。这是针对 weblogic 12C 的。

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

【讨论】:

    猜你喜欢
    • 2020-10-22
    • 2019-01-11
    • 2011-10-13
    • 1970-01-01
    • 2020-01-19
    • 2021-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多