在部署到Tomcat

时间:2017-04-23 21:22:38

标签: java tomcat cxf logback slf4j

我有一个使用的应用程序:

  • Apache CXF
  • Tomcat的
  • SLF4J,带有回溯实现

应用程序正在使用外部Jar打印到System Out和Err。我使用sysout-over-slf4j将消息从printstream重定向到logback日志文件。 当我使用主类测试它时一切正常并且printStream被重定向到logback日志文件但是当我使用Tomcat启动应用程序时,只有从应用程序类触发的打印流被重定向到logback,同时从外部打印Streams Jar被打印到控制台并被SLF4J忽略。

我在使用Tomcat时出现应用程序启动错误,这可能是问题的根源,但我不确定:

  

2017-04-23 23:11:53,511 [localhost-startStop-1] DEBUG - uk.org.lidalia.sysoutslf4j.context.SysOutOverSLF4JInitialiser.initialise()   {暗淡。 AVR。 23 23:11:53 CEST 2017}:您的日志框架类   ch.qos.logback.classic.Logger不需要访问标准   控制台上的println方法,所以你不需要注册一个   记录系统包。 [SysOutOverSLF4JInitialiser.java:56]

     

2017-04-23 23:11:53,537 [localhost-startStop-1]调试 -   uk.org.lidalia.sysoutslf4j.context.SysOutOverSLF4J.getConfiguratorClassFromSystemClassLoader()   {暗淡。 AVR。 23 23:11:53 CEST 2017}:未能加载[课程   来自的uk.org.lidalia.sysoutslf4j.system.PrintStreamCoordinatorImpl]   系统类加载器由于java.lang.ClassNotFoundException:   uk.org.lidalia.sysoutslf4j.system.PrintStreamCoordinatorImpl   [PrintStreamCoordinatorFactory.java:83]

     

2017-04-23 23:11:53,537 [localhost-startStop-1]警告 -   uk.org.lidalia.sysoutslf4j.context.SysOutOverSLF4J.reportFailureToAvoidClassLoaderLeak()   {暗淡。 AVR。 23 23:11:53 CEST 2017}:不幸的是,这是不可能的   在没有引入类的情况下在此系统上设置Sysout over SLF4J   装载机内存泄漏。

当我使用主类测试来自jar的打印流被重定向到SLF4J时,我没有收到此错误,并且消息已成功重定向到SLF4J。

有人可以告诉我,如果我得到的错误是问题的根源,在这种情况下如何解决它们。

如果您需要有关源代码或配置的更多信息,请告诉我。

谢谢你, REGARDS

0 个答案:

没有答案