我有一个使用的应用程序:
应用程序正在使用外部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