【问题标题】:Logback not working with JBoss EAP 6.1Logback 不适用于 JBoss EAP 6.1
【发布时间】:2013-12-07 18:50:51
【问题描述】:

我有一个 maven Web 应用程序,我在其中使用 logback 和 JBoss EAP 6.1 作为服务器。问题是当我在服务器上部署它时,我的 logback.xml 被忽略,并且使用 logback 的默认配置打印在控制台而不是我的日志文件上。如果我在 tomcat 上部署我的应用程序,日志记录工作正常。

我已将 logback.xml 放在 src/main/resources 中。

在 - Logging Configuration in Logback + SL4J + JBoss EAP 6.0 找到了类似的问题 和 Logback and Jboss 7 - don't work together? 但是没用……

【问题讨论】:

  • 不会工作,兄弟,我已经在这里尝试了大约 2 周,我所做的没有任何工作
  • 嘿阿卜杜勒..在下面找到我的解决方案。

标签: maven jboss logback


【解决方案1】:

之前忘记分享解决方案了..在这里 -

我们需要在 jboss-deployment-structure.xml 中添加以下几行

<exclusions>
            <module name="org.apache.commons.logging" />
            <module name="org.slf4j" />
            <module name="org.slf4j.ext" />
            <module name="org.slf4j.impl" />
            <module name="org.apache.log4j" />
</exclusions>

所以整个文件看起来像 -

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <!-- Exclusions allow you to prevent the server from automatically adding 
            some dependencies -->
        <exclusions>
            <module name="org.apache.commons.logging" />
            <module name="org.slf4j" />
            <module name="org.slf4j.ext" />
            <module name="org.slf4j.impl" />
            <module name="org.apache.log4j" />
        </exclusions>

    </deployment>
</jboss-deployment-structure>

如果你有maven项目,可以把这个文件放在-

<project>/webapp/META-INF/jboss-deployment-structure.xml

现在日志可以正常工作了。

【讨论】:

  • 我一直在尝试使用 jboss-deployment-structure.xml 但这也不起作用......让我试试你提供的那个,看看会发生什么。我会告诉你结果
  • 不...仍然不适合我,不过谢谢您的回复
  • 我明白了,我添加了两个子部署,我认为这成功了!感谢您的提示
【解决方案2】:

首先,感谢@popeye

了解@popeye 的定义,这是我的 2 美分

jboss-deployment-structure.xml”的位置:src/main/webapp/WEB-INF/jboss-deployment-structure.xml

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <!-- Hey Server please don't add these dependencies. I don't need them. 
                                 I have mine in my application dependencies -->
        <exclusions>
            <module name="org.apache.commons.logging" />
            <module name="org.slf4j" />
            <module name="org.slf4j.ext" />
            <module name="org.slf4j.impl" />
            <module name="org.apache.log4j" />
        </exclusions>
        <dependencies>
            <module name="com.oracle" />
            <module name="org.jboss.ironjacamar.jdbcadapters" slot="main" />
        </dependencies>
    </deployment>
</jboss-deployment-structure>

现在,logback.xml 正在行动。哟!

  • 为什么需要这个 - &lt;module name="com.oracle" /&gt;

这是你在JBOSSstandalone.xml中提到的驱动模块名称

 <subsystem xmlns="urn:jboss:domain:datasources:1.1">
            <datasources>
                <datasource><!-- your configurations --></datasource>
                  <drivers>
                    <driver name="ojdbc6-11.2.0.4" module="com.oracle">
                        <xa-datasource-class>oracle.jdbc.OracleDriver</xa-datasource-class>
                    </driver>
                  </drivers>
            </datasources>
</subsystem>

请注意,这是用于 JBOSS 服务器到数据库的通信。 [即使你的 project/lib 中有 ojdbc6-11.2.0.4.jar,你也需要这个配置 ]

如何想出这个名称“com.oracle”?这是一个标准吗? 。这是我在服务器上创建的文件夹结构 在此处查看此 SO 帖子 -Xmlparserv2 error while application deployed in jboss, Installing Oracle ojdbc module in JBoss for Java web application'如何在 JBOSS 中创建 Oracle 模块'

还请注意不要将此与您可能在项目中添加的依赖项 pom.xml 混淆。 即:这个

<dependency>
                <groupId>com.oracle</groupId>
                <artifactId>ojdbc6</artifactId>
                <version>11.2.0.4</version>
                <scope>provided</scope> <!-- to exclude from WEB-INF/lib -->
            </dependency>

你需要上面的项目依赖来编写Java代码,编译它, 以及在运行时,让您的代码与驱动程序进行通信。

  • 为什么需要这个 - &lt;module name="org.jboss.ironjacamar.jdbcadapters" slot="main" /&gt;

否则,在 Spring 应用程序的 JBoss 上获取 jndi 数据源集时,您可能会收到 错误。 所以这是一个依赖。不要忘记在您的pom.xml 中添加罐子

<dependency>
            <groupId>org.jboss.ironjacamar</groupId>
            <artifactId>ironjacamar-jdbc</artifactId>
</dependency>

【讨论】:

    猜你喜欢
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 2013-08-25
    • 2014-02-28
    • 2014-03-10
    • 1970-01-01
    相关资源
    最近更新 更多