我正在使用<jmxConfigurator/>logback 中的元素; jmxConfigurator声明如下:
Thus, unless your application is a standalone Java application, you **MUST** unregister the JMXConfigurator instance from the JVM's Mbeans server.
Run Code Online (Sandbox Code Playgroud)
logback文档还提到了一个<shutdownHook/>配置元素,根据文档执行以下操作:
Installing a JVM shutdown hook is a convenient way for shutting down logback and releasing associated resources.
Run Code Online (Sandbox Code Playgroud)
是否包含<shutdownHook/>元素注意取消注册<jmxConfigurator/>?
是的,它确实.以下是调试器的证明:

但是,有一些限制:
<shutdownHook/> 仅在1.1.3版本中可用<shutdownHook/>是足够的,但你必须指定class属性:
<shutdownHook class="ch.qos.logback.core.hook.DelayingShutdownHook"/>
否则logback抱怨:ERROR in ch.qos.logback.core.joran.action.ShutdownHookAction - Missing class name for shutdown hook. Near [shutdownHook] line 16
要确保JMXConfigurator停止,请在logback配置上启用调试模式:
<configuration debug="true">
...
</configuration>
Run Code Online (Sandbox Code Playgroud)
然后在日志结束时,您将看到:
INFO in ch.qos.logback.core.hook.DelayingShutdownHook@1a246fc6 - Logback context being closed via shutdown hook INFO in ch.qos.logback.classic.jmx.JMXConfigurator(default) - onReset() method called JMXActivator [ch.qos.logback.classic:Name=default,Type=ch.qos.logback.classic.jmx.JMXConfigurator]
| 归档时间: |
|
| 查看次数: |
1054 次 |
| 最近记录: |