我花了幾天的時間試圖用wildfly 10項目設置logback。WIldfly 10 + logback
我的目標是:
- 服務器日誌應該由wildfly記錄器來創建。
- 我的EAR日誌應該由logback創建。
- Logback和wildfly記錄器日誌到控制檯。
我的項目骨架Maven的產生,是如下:
- 項目名稱
- 項目名稱入耳
- 項目名稱,EJB
- 項目名稱父
- 項目名稱,網絡
我嘗試將logback.xml添加到web和ejb項目中的資源 - 它不起作用。我是新來的野蠻人,不知道我是否做得對。
我嘗試添加以下代碼根據this page到JBoss部署,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是一個和平的蛋糕。 我很欣賞這個問題的所有好建議和經驗。
我將jboss-deployment-structure.xml添加到目錄src/main/resources/META-INF /下的所有子部署中(EJB,WEB - 其他似乎自動生成)。它不幸沒有幫助。你的答案的第二部分幾乎是完美的,但控制檯日誌仍然存在問題 - 它們被野蠻日誌「包裝」。我看到@gandalfml具有相同的[問題](http://stackoverflow.com/questions/37377043/configure-logback-in-wildfly)並沒有解決它。 – LukTar
對不起,我應該澄清。您需要將排除添加到EAR中的jboss-deployment-structure.xml。你最終會得到一些
我可以停止在standalone.xml中關閉wildfly日誌記錄,並且生活得很安寧,但我真的想檢查你的第一個建議,所以...我已閱讀關於子部署和ear文件。我發現類似的問題[這裏](http://stackoverflow.com/questions/26137219/war-in-ear-jboss-deployment-structure-xml-ignored)和[這裏](http://stackoverflow.com/questions/26859092/JBoss的部署結構的XML-不 - 不負載最依賴 - 在 - 我的入耳式項目)。對不起,我的noob問題,但如何將jboss-deployment-structure.xml添加到我的EAR項目? – LukTar