0

这个问题有关。Glassfish 似乎正在将 slf4j 导出到我的应用程序中并覆盖我的日志记录解决方案。我是否可以覆盖 Glassfish 的日志记录并让我自己的日志记录解决方案优先?经过搜索,我只找到了使用logging.properties修改日志的方法。

我并没有与我当前的实现结婚,但我有兴趣让它发挥作用。

谢谢。

4

2 回答 2

1

正如另一个答案中所建议的那样,尝试将 GlassFish 配置为在委托之前首先使用子类加载器。在sun-web.xml

<sun-web-app>
  <class-loader delegate="false"/>
</sun-web-app>

但如果这可行,这更像是一个真正的解决方案的解决方法,您的应用程序不应该被bean-validation.jarweld-osgi-bundle.jar的 SLF4J 绑定污染(至少相信如此)。你也许应该提出一个问题

更新:对于档案,建议的解决方法不起作用。但我无法重现该问题

于 2010-03-13T00:36:14.053 回答
0

简短的回答是,Glassfish 做了一些讨厌的记录器调整,将 System.out 和 System.err 重定向到它自己的日志。我没有设法阻止它这样做,但我找到了一种将所有服务器和应用程序日志消息收集到单个 slf4j 日志中的方法,方法是在类路径中足够早地放置 slf4j 库并编辑 Glassfish 的 logging.properties。

有关详细答案,请参阅此博客文章

于 2010-05-13T16:46:15.130 回答