如何解决log4j2 和 slf4j/logback 在 anylogic 中的输出不同
我继承了一个 anylogic 项目,其中部分模型逻辑已在一个 java 项目中实现,此模型也从该项目启动。
这个项目有多个记录器配置,因为项目大部分使用 log4j2,少数部分使用 logback 后端的 slf4j。
在anylogic UI/Browser-Window中,您可以查看一些控制台,其中打印了一些输出:
有趣的是没有打印日志,这些日志已经记录在 log4j-library 中。
然而,那些使用 slf4j 和 logback 记录的蜜蜂也会显示在控制台中。
appender 配置如下:
# log4j2 appender
appender.console.type = Console
appender.console.name = consoleLogger
appender.console.target = SYSTEM_OUT
appender.console.layout.type = PatternLayout
<!--- logback.xml appender --->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%highlight(%d{yyyy.MM.dd HH:mm:ss.SSS} [%thread] %-5level %logger{36}:%L - %msg%n)</pattern>
</encoder>
</appender>
现在的问题是:两个日志框架/附加程序之间的区别是什么,这会导致观察到的行为?
解决方法
看来,SYSTEM_OUT
is reassigned after configuration.
如果我将 Log4J2 Console Appender 设置为跟随
appender.console.follow = true
日志也会附加到 AnyLogic UI 中的控制台。
显然 logback follows 默认情况下。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。