【发布时间】:2017-07-03 19:01:57
【问题描述】:
我花了几天时间尝试用我的 wildfly 10 项目设置 logback。
我的目标是:
- 服务器日志应由 wildfly logger 创建。
- 我的 EAR 日志应该由 logback 创建。
- Logback 和 Wildfly 记录器将日志记录到控制台。
我的项目骨架是maven生成的,如下:
- 项目名称
- 项目名称-ear
- 项目名称-ejb
- 项目名称-父项
- 项目名称-网络
我尝试将 logback.xml 添加到 web 和 ejb 项目中的资源 - 它不起作用。我是 Wildfly 的新手,不确定我是否做得对。
我尝试根据this page在所有项目的jboss-deployment-structure.xml中添加以下代码:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.apache.commons.logging" />
<module name="org.apache.log4j" />
<module name="org.jboss.logging" />
<module name="org.jboss.logging.jul-to-slf4j-stub" />
<module name="org.jboss.logmanager" />
<module name="org.jboss.logmanager.log4j" />
<module name="org.slf4j" />
<module name="org.slf4j.impl" />
</exclusions>
</deployment>
</jboss-deployment-structure>
什么都没有发生。然后我喜欢另一个:
<jboss-deployment-structure>
<deployment>
<!-- exclude-subsystem prevents a subsystems deployment unit processors running on a deployment -->
<!-- which gives basically the same effect as removing the subsystem, but it only affects single deployment -->
<exclude-subsystems>
<subsystem name="logging" />
</exclude-subsystems>
</deployment>
</jboss-deployment-structure>
什么都没有发生。我是不是在这个时候做错了什么?
然后我找到了在this tutorial 中替换 wildfly 记录器的解决方案。
它有效,但有一个巨大的缺点。日志加倍 - 它看起来 logback 和 wildfly 记录器一次记录到控制台。在 logger.properties 中禁用 wildfly 记录器不起作用。
我不知道我花了这么多时间来实现记录器。 Logback + android 是小菜一碟。 我感谢所有关于这个问题的好的建议和经验。
【问题讨论】: