Logback Groovy 配置使用 JMX?
在 Logback 的文档中,他们使将 JMX 信息放入 XML 文件看起来很容易:
http://logback.qos .ch/manual/jmxConfig.html
但他们所有的示例都使用他们的 XML 配置,而我想使用 Groovy。 Groovy DSL 文档中没有提及 JMX 配置器:
http://logback.qos.ch/ Manual/groovy.html
因此,我将 XML 中的第一个 JMX/XML 示例复制到了 Groovy 翻译器中。
XML:
<configuration>
<jmxConfigurator />
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%date [%thread] %-5level %logger{25} - %msg%n</Pattern>
</layout>
</appender>
<root level="debug">
<appender-ref ref="console" />
</root>
</configuration>
翻译器:
http://logback.qos.ch/translator/asGroovy.html
结果:
import ch.qos.logback.classic.PatternLayout
import ch.qos.logback.core.ConsoleAppender
import static ch.qos.logback.classic.Level.DEBUG
appender("console", ConsoleAppender) {
layout(PatternLayout) {
pattern = "%date [%thread] %-5level %logger{25} - %msg%n"
}
}
root(DEBUG, ["console"])
它没有对 JMX 做任何事情——只是放入控制台附加程序。
有什么想法我需要做什么吗?
On Logback's documentation, they make putting JMX info into the XML file seem easy:
http://logback.qos.ch/manual/jmxConfig.html
But all their examples are using their XML configuration and I want to use Groovy. There is no mention of JMX Configurator in their Groovy DSL documentation:
http://logback.qos.ch/manual/groovy.html
So I copied the first JMX/XML example in their XML to Groovy translator.
The XML:
<configuration>
<jmxConfigurator />
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%date [%thread] %-5level %logger{25} - %msg%n</Pattern>
</layout>
</appender>
<root level="debug">
<appender-ref ref="console" />
</root>
</configuration>
The translator:
http://logback.qos.ch/translator/asGroovy.html
And the result:
import ch.qos.logback.classic.PatternLayout
import ch.qos.logback.core.ConsoleAppender
import static ch.qos.logback.classic.Level.DEBUG
appender("console", ConsoleAppender) {
layout(PatternLayout) {
pattern = "%date [%thread] %-5level %logger{25} - %msg%n"
}
}
root(DEBUG, ["console"])
And it didn't do anything with JMX -- just put in the console appender.
Any ideas what I need to do?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
用于解析基于 Groovy 的配置文件的配置器不支持基于 XML 的配置文件中的 jmxConfigurator。但我们仍然可以在 Groov 配置文件中编写一个方法来初始化 JMX 配置器。
如果我们查看 Logback 的源代码,我们会发现文件 ch.qos.logback.classic.joran.action.JMXConfigurationAction 负责从基于 XML 的配置设置 JMX。我们可以使用此代码作为 Groovy 版本的示例。
我自己还没有测试过这段代码,但我希望总体思路是清楚的。
The configurator to parse the Groovy-based configuration files, doesn't support the jmxConfigurator as in the XML-based configuration files. But we can still write a method in our Groov configuration file to initialize the JMX Configurator.
If we look at the source code of Logback we see that the file ch.qos.logback.classic.joran.action.JMXConfigurationAction does the stuff to set up JMX from the XML-based configuration. We can use this code as a sample for the Groovy version.
I haven't tested this code myself, but I hope the general idea is clear.
Logback 在 2013 年在 Groovy 配置中添加了对 JMX 配置的支持:
您可以注册一个JMXConfigurator MBean(使用 Logback 的默认 ObjectName ),通过将以下内容添加到
logback.groovy
中:此方法的更多详细信息和重载 手册中。
Logback added support for JMX configuration in the Groovy config in 2013:
You can register a JMXConfigurator MBean (using Logback's default ObjectName ), by adding the following to your
logback.groovy
:More details and overloads of this method in the manual.