2013-12-07 5 views
5

Ich habe eine Maven Web-Anwendung, in der ich Logback und JBoss EAP 6.1 als Server verwenden. Das Problem ist, dass meine logback.xml bei der Bereitstellung auf dem Server ignoriert wird und die Standardkonfiguration von Logback verwendet wird, die auf der Konsole anstelle meiner Protokolldatei gedruckt wird. Die Protokollierung funktioniert einwandfrei, wenn ich meine Anwendung auf tomcat auslege.Logback funktioniert nicht mit JBoss EAP 6.1

Ich habe logback.xml in src/main/resources eingefügt.

gefunden ähnliche Frage an - Logging Configuration in Logback + SL4J + JBoss EAP 6.0 und Logback and Jboss 7 - don't work together? aber keine Verwendung ...

+0

ja gar nicht bro hinzufügen, ich habe hier für ca. 2 Wochen versucht, nichts, was ich tun Werke –

+0

Hey Abdul..Find meine Lösung unten. –

Antwort

5

vergessen die Lösung zu teilen earlier..here es ist -

Wir folgenden Zeilen in JBoss- hinzufügen müssen 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> 

So ist die gesamte Datei aussieht -

<?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> 

Wenn Sie ein Maven-Projekt haben, können Sie diese Datei setzen -

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

Jetzt wird funktionieren anzumelden.

+0

Ich habe versucht, eine jboss-deployment-structure.xml zu verwenden, aber das funktioniert auch nicht ... lass mich das von dir zur Verfügung gestellte versuchen und sehen, was passiert. Ich werde Sie mit Ergebnissen aktualisieren –

+0

Nö ... immer noch nicht funktioniert für mich, danke für die Antwort obwohl –

+1

Sie können versuchen, mehr Logging-bezogene Module von jboss auszuschließen .. –

2

Zuerst dank

@popeye zu Klettern auf das, was @popeye gut definiert hat, hier sind meine 2 Cent

Lage von '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> 

Jetzt ist logback.xml in Aktion. yo!

  • warum wird das benötigt - <module name="com.oracle" />?

Dies ist der Name des Moduls des Fahrers Sie in JBOSS standalone.xml

erwähnt
<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> 

Beachten Sie, dass diese auf Datenbank-Kommunikation für JBOSS-Server ist. [Selbst wenn Sie ojdbc6-11.2.0.4.jar in Ihrem Projekt/lib Sie diese Konfiguration benötigen]

Wie Sie mit diesem Namen ‚com.oracle‘ kommen hat? Ist das ein Standard? Nein. Dies ist der struture des Ordners ich das so auf dem Server Schauen Sie erstellt hier posten - Xmlparserv2 error while application deployed in jboss, Installing Oracle ojdbc module in JBoss for Java web application

Beachten Sie auch nicht: ‚Wie ein Oracle-Modul in JBOSS schaffen‘ diese mit der Abhängigkeit zu verwirren, die Sie hinzufügen könnten in Ihr Projekt pom.xml. heißt: dieses

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

Die obige Projekt Abhängigkeit benötigt wird für Sie den Java-Code zu schreiben, bekommen es kompiliert, und auch während der Laufzeit, für die der Code für den Fahrer zu kommunizieren.

  • warum wird das benötigt - <module name="org.jboss.ironjacamar.jdbcadapters" slot="main" />?

Ansonsten könnten Sie einen Fehler zu bekommen jndi Datenquelle in Ihrem Frühjahr Anwendung festgelegt auf JBoss bekommen. Das ist also eine Abhängigkeit. Vergessen Sie nicht, das Glas als auch in Ihrem pom.xml

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