2012-03-19 25 views
5

Ho un po 'di difficoltà con JBoss AS7 e la registrazione. Non riesco a trovare nulla di correlato sul web nonostante il mio problema sia molto generale.JBoss AS 7: Logging

Il registro predefinito si presenta attualmente come questo:

11:57:29,950 INFO [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO org.apache.http.impl.client.DefaultHttpClient - I/O exception (java.net.SocketException) caught when processing request: Connection reset 
11:57:29,950 INFO [stdout] (http--0.0.0.0-8081-78) 248408930 [http--0.0.0.0-8081-78] INFO org.apache.http.impl.client.DefaultHttpClient - Retrying request 

preavviso il [stdout], quelle linee dove scritti stout da qualche libreria di registrazione che viene utilizzato da qualche libreria e raccolto da JBoss e scritto al file di registro. Questo è quello che voglio aggiustare.

Suppongo che ci debba essere un modo per avere un adattatore che dice a log4j (oa qualsiasi altro framework di registrazione) di accedere al sottosistema di registrazione jboss?

La mia prima idea era di rimuovere tutta la configurazione di log4j dal classpath del mio progetto. Ne ho trovato uno in una libreria che uso che ha fatto il log in stdout. Ma questo non risolve nulla.

11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN No appenders could be found for logger (org.springframework.web.context.support.StandardServletEnvironment). 
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN Please initialize the log4j system properly. 
11:21:01,648 ERROR [stderr] (http-localhost-127.0.0.1-8080-1) log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

Il solito messaggio di errore quando nessun appender è configurato. Almeno posso essere sicuro che nessuna configurazione è più nel classpath.

La documentazione di JBoss AS non menziona nemmeno questo tipo di scenario, come dovrei usare le librerie di terze parti quando non sono in grado di ottenere la registrazione corretta?

Spero davvero che qualcuno possa darmi una mano, ogni suggerimento è apprezzato!

Malax

risposta

14

Anche se non è in questione, io presumo che si sta tentando di utilizzare log4j con JBoss AS7. Se ciò è vero e devi utilizzare le appendici, devi escludere il log4j fornito con il server e impacchettare al momento la tua versione con la tua distribuzione. Questo dovrebbe cambiare presto dopo che AS7-514 è stato risolto. Una volta aggiunta questa funzionalità, nulla dovrà essere fatto dalla tua parte.

per risolvere il problema per ora è necessario prima creare un jboss-deployment-structure.xml che dovrebbe essere simile al seguente:

<jboss-deployment-structure> 
    <deployment> 
     <!-- Exclusions allow you to prevent the server from automatically adding some dependencies --> 
     <exclusions> 
      <module name="org.apache.log4j" /> 
     </exclusions> 
    </deployment> 
</jboss-deployment-structure> 

Quindi aggiungere la propria versione di log4j al vostro WEB-INF/lib directory o in qualsiasi altro luogo in cui il dispiegamento avrebbe essere in grado di trovare la libreria.

Dopodiché dovrebbe funzionare come ci si aspetterebbe.

+0

Purtroppo, questo non funziona per me per qualche motivo. Ho risolto l'XML per essere ben formato (la documentazione dice che è l'elemento principale per le esclusioni.) Ma continua a ricevere messaggi di registrazione come: '09: 58: 04.564 INFO [stdout] (http-localhost- 127.0.0.1-8080-1) 2012-03-22 09: 58: 04,564 DEBUG [http-localhost-127.0.0.1-8080-1] org.apache.http.wire: << " [\ n] "' – Malax

+0

Il JBoss AS 7 ottiene tutti i messaggi registrati su stdout e stderr e li registra –

+0

Funziona alla grande! Grazie per le informazioni. – Dima

Problemi correlati