我是新的logback,我想配置logback编程。目前我使用的静态配置如下:
<configuration>
<appender name="KIWI" class="ch.qos.logback.classic.net.SyslogAppender">
<syslogHost>localhost:8080</syslogHost>
<facility>LOCAL0</facility>
<suffixPattern>%thread: %-5level %logger{36} - %msg%n</suffixPattern>
</appender>
<logger name="com.javacodegeeks.examples.logbacksyslogexample.message.kiwi" level="INFO">
<appender-ref ref="KIWI" />
</logger>
</configuration>
是否可以动态设置sysloghost?
1条答案
按热度按时间vsnjm48y1#
是的,可以通过编程方式配置logback,您需要扩展contextawarebase并实现configurator,如下面的代码所示
您需要在src/main/resources/meta-inf/services/ch.qos.logback.classic.spi.configurator下创建一个文件,其中包含您的配置程序的类名。下面是我的示例和配置。
我以前没有使用syslogappender,但是您可以更改我给出的示例,您可以使用system.getproperty(“proname”)或system.getenv(“envname”)
在从头开始实现所有东西之前,您是否尝试过像下面这样更改xml?
然后像这样运行jar“java-jaryourjarpath.jar-dsyslog=localhost:8080“这样您就不需要编写配置类详细文档。