SLF4J日志记录:双重输出

2020-09-04 09:41发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在开发一个Java应用程序(Web服务)以部署到SAP CP,但是日志输出存在问题。

在我的应用程序中,作为SAP准则,我正在使用slf4j库,并在pom.xml中进行如下设置:

每次我的应用程序重新启动时,都会输出此警告

・ 08:39:16.832 [http-nio-8080-exec-3]错误org.slf4j.helpers.Util-SLF4J:类路径包含多个SLF4J绑定。

・ 08:39:16.834 [http-nio-8080-exec-3]错误org.slf4j.helpers.Util-SLF4J:在[jar:file:/C:/Program%20Files/Java/neo中找到绑定 -java-web-sdk-3.80.13/repository/.archive/bin/logback-classic.jar!/org/slf4j/impl/StaticLoggerBinder.class] 08:39:16.835 [http-nio-8080-exec-3 错误org.slf4j.helpers.Util-SLF4J:在[jar:file:/F:/Eclipse-201903-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/ eG-Connect/WEB-INF/lib/slf4j-simple-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]

・ 08:39:16.835 [http-nio-8080-exec-3]错误org.slf4j.helpers.Util-SLF4J:请参见 http://www.slf4j.org/codes.html#multiple_bindings 进行解释。

・ 08:39:16.849 [http-nio-8080-exec-3]错误org.slf4j.helpers.Util-SLF4J:实际绑定的类型为[org.slf4j.impl.SimpleLoggerFactory] ​​

当在示例调试日志中输出时,其输出如下所示

・ 08:39:16.852 [http-nio-8080-exec-3]错误org.slf4j.impl.SimpleLogger-[http-nio-8080-exec-3]调试<<调试日志内容>>

因为这样输出,所以我的所有日​​志都进入了错误级别,而不是我想要的正确类型。

任何人都可以建议我的问题在哪里以及如何正确配置它

感谢和问候

AnhLQ

screenhunter-02-aug-01-0837.jpg (29.2 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在开发一个Java应用程序(Web服务)以部署到SAP CP,但是日志输出存在问题。

在我的应用程序中,作为SAP准则,我正在使用slf4j库,并在pom.xml中进行如下设置:

每次我的应用程序重新启动时,都会输出此警告

・ 08:39:16.832 [http-nio-8080-exec-3]错误org.slf4j.helpers.Util-SLF4J:类路径包含多个SLF4J绑定。

・ 08:39:16.834 [http-nio-8080-exec-3]错误org.slf4j.helpers.Util-SLF4J:在[jar:file:/C:/Program%20Files/Java/neo中找到绑定 -java-web-sdk-3.80.13/repository/.archive/bin/logback-classic.jar!/org/slf4j/impl/StaticLoggerBinder.class] 08:39:16.835 [http-nio-8080-exec-3 错误org.slf4j.helpers.Util-SLF4J:在[jar:file:/F:/Eclipse-201903-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/ eG-Connect/WEB-INF/lib/slf4j-simple-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]

・ 08:39:16.835 [http-nio-8080-exec-3]错误org.slf4j.helpers.Util-SLF4J:请参见 http://www.slf4j.org/codes.html#multiple_bindings 进行解释。

・ 08:39:16.849 [http-nio-8080-exec-3]错误org.slf4j.helpers.Util-SLF4J:实际绑定的类型为[org.slf4j.impl.SimpleLoggerFactory] ​​

当在示例调试日志中输出时,其输出如下所示

・ 08:39:16.852 [http-nio-8080-exec-3]错误org.slf4j.impl.SimpleLogger-[http-nio-8080-exec-3]调试<<调试日志内容>>

因为这样输出,所以我的所有日​​志都进入了错误级别,而不是我想要的正确类型。

任何人都可以建议我的问题在哪里以及如何正确配置它

感谢和问候

AnhLQ

screenhunter-02-aug-01-0837.jpg (29.2 kB)
付费偷看设置
发送
4条回答
小熊yu生菜
1楼 · 2020-09-04 09:50.采纳回答

嗨AnhLQ,

Neo SDK已经包含SLF4J库。 因此,您可以删除已添加的依赖项,也可以在Neo的SDK(直接在POM上)上创建排除项。

请在我的博客

最好的问候,
伊万

歪着头看世界
2楼-- · 2020-09-04 10:10

嗨伊万,

非常感谢您的回答。

我已经阅读了您的博客文章,但仍然不知道在哪里正确添加排除标记。

您能看到我的完整 pomxml.txt 并给我一些建议吗。

最诚挚的问候,

AnhLQ

哎,真难
3楼-- · 2020-09-04 10:10

嗨AnhLQ,

尝试以下操作,而不是当前的依赖项:

 
  org.slf4j 
  slf4j-api 
 提供
 
 <依赖性>
  org.slf4j 
  slf4j-simple 
 提供
 
 <依赖性>
            ch.qos.logback 
            logback-classic 
           提供
 
 <依赖性>
  ch.qos.logback 
  logback-core 
 提供
 
 

Neo的SDK(neo-java-web-api依赖项)已经包含SLF4J的实现。 由于您是在SCP的Neo上运行它,因此明智的做法是将该库与SDK上的库保持相同,并在本地将您使用的库设置为"提供"。

如果 查看该错误,它表示logback-classic.jar(由SDK在pom.xml中提供为neo-java-web-api)和slf4j-simple-1.7.26.jar(位于pom中)之间存在冲突 .xml列为依赖项)。 因此,Java尝试在应用程序初始化期间同时加载两者,但是对于SLF4J,只能使用一个绑定。 因此,您必须排除其他选项。

最好的问候,
伊凡

SAP小菜
4楼-- · 2020-09-04 10:11

您好,伊万·米里索拉(Ivan Mirisola)

我从你的回答中学到了很多东西。

感谢和问候

AnhLQ

一周热门 更多>