2011-02-09 10 views
7

Attualmente sono migrazione vecchie applicazioni Web da JBoss come da 4.2.2 a 6.0.0 (AS6). In AS6 abbiamo un formato proprietario per la registrazione delle applicazioni attraverso un file denominato jboss-logging.xml.JBoss AS6 registrazione specifica dell'app

Dopo aver letto alcuni elementi (http://community.jboss.org/wiki/SeparatingApplicationLogs) raggiungere la conclusione che "(...) a partire da JBoss AS 6.0.0.M2 la possibilità di accedere a file di registro separati, per applicazione, verrà implementata in un modo diverso " e anche che la documentazione " (...) verrà aggiornata con ulteriori dettagli, una volta che l'implementazione è pronta ".

Tuttavia sono stato in grado di creare i file di registro dell'applicazione specifici nella mia dir server/log, è stato fatto utilizzando il file principale joboss-logging.xml nella directory server/deploy. Questo non è compatibile con la modularità richiesta dalle mie applicazioni.

Quindi, ecco il problema quando creo un jboss-logging.xml e mia WEB-INF dir per la mia app whit questa configurazione:

<?xml version="1.0" encoding="UTF-8"?> 
<logging xmlns="urn:jboss:logging:6.0" xmlns:b="urn:jboss:bean-deployer:2.0" context="myApp"> 
    <define-context name="myApp" /> 

    <periodic-rotating-file-handler 
     file-name="${jboss.server.log.dir}/myApp.log" 
     name="WEBAPP" autoflush="true" append="true" suffix=".yyyy-MM-dd"> 
     <error-manager><only-once/></error-manager> 
     <formatter> 
     <pattern-formatter pattern="%d %-5p [%c] (%t) %s%E%n"/> 
     </formatter> 
    </periodic-rotating-file-handler> 

    <root-logger> 
     <!-- Set the root logger priority via a system property, with a default value. --> 
     <level name="${jboss.server.log.threshold:INFO}"/> 
     <handlers> 
     <handler-ref name="WEBAPP"/> 
     </handlers> 
    </root-logger> 

</logging> 

ricevo il seguente errore quando la mia applicazione si avvia:

8:57:07,765 ERROR [AbstractKernelController] Error installing to Configured: name=Logging:REGISTRATION:myApp:Anonymous-0 state=Instantiated: java.lang.RuntimeException: Error configuring property: selector for Logging:REGISTRATION:myApp:Anonymous-0 
      at org.jboss.kernel.plugins.dependency.ConfigureAction.dispatchSetProperty(ConfigureAction.java:112) [jboss-kernel.jar:2.2.0.GA] 
      at org.jboss.kernel.plugins.dependency.ConfigureAction.setAttributes(ConfigureAction.java:85) [jboss-kernel.jar:2.2.0.GA] 
      at org.jboss.kernel.plugins.dependency.ConfigureAction.installActionInternal(ConfigureAction.java:44) [jboss-kernel.jar:2.2.0.GA] 
      at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:54) [jboss-kernel.jar:2.2.0.GA] 
      at org.jboss.kernel.plugins.dependency.InstallsAwareAction.installAction(InstallsAwareAction.java:42) [jboss-kernel.jar:2.2.0.GA] 
(...) 
Caused by: java.lang.IllegalArgumentException: Wrong arguments. setSelector for target [email protected] expected=[org.jboss.logmanager.ClassLoaderLogContextSelector] actual=[org.jboss.logmanager.LogContextSelectorService] 
      at org.jboss.reflect.plugins.introspection.ReflectionUtils.handleErrors(ReflectionUtils.java:404) [jboss-reflect.jar:2.2.0.GA] 
      at org.jboss.reflect.plugins.introspection.ReflectionUtils.invoke(ReflectionUtils.java:74) [jboss-reflect.jar:2.2.0.GA] 
      at org.jboss.reflect.plugins.introspection.ReflectMethodInfoImpl.invoke(ReflectMethodInfoImpl.java:168) [jboss-reflect.jar:2.2.0.GA] 
      at org.jboss.beans.info.plugins.DefaultPropertyInfo.set(DefaultPropertyInfo.java:143) [jboss-reflect.jar:2.2.0.GA] 
      at org.jboss.beans.info.plugins.BeanInfoUtil.set(BeanInfoUtil.java:177) [jboss-reflect.jar:2.2.0.GA] 
      at org.jboss.beans.info.plugins.AbstractBeanInfo.setProperty(AbstractBeanInfo.java:289) [jboss-reflect.jar:2.2.0.GA] 
      at org.jboss.kernel.plugins.dependency.PropertyDispatchWrapper.execute(PropertyDispatchWrapper.java:114) [jboss-kernel.jar:2.2.0.GA] 
      at org.jboss.kernel.plugins.dependency.ExecutionWrapper.execute(ExecutionWrapper.java:47) [jboss-kernel.jar:2.2.0.GA] 
      at org.jboss.kernel.plugins.dependency.KernelControllerContextAction.dispatchExecutionWrapper(KernelControllerContextAction.java:125) [jboss-kernel.jar:2.2.0.GA] 
      at org.jboss.kernel.plugins.dependency.ConfigureAction.dispatchSetProperty(ConfigureAction.java:107) [jboss-kernel.jar:2.2.0.GA] 
      ... 64 more 

lo farò essere grati per qualsiasi tipo di informazione o direzione su questo argomento, anche uno che rappresenta utilizzando un approccio completamente diverso per l'accesso in AS6. Anche se sento che mi sto avvicinando alla soluzione ... Grazie in anticipo.


Il post here è anche il mio

risposta

5

questo è un bug, è riportato qui: https://issues.jboss.org/browse/JBLOGGING-56

ho provato la soluzione che accennano, ma non poteva farlo funzionare o. Sfortunatamente, il nuovo framework di registrazione in JBoss AS 6 sembra essere molto buggato e non documentato in questo momento.

+0

Grazie Robert, proponi un'alternativa? Stavo usando log4J in precedenza, ma ho pensato che sarebbe stato meglio se andare con il server delle applicazioni ... – rsilva4

+0

Purtroppo, no. Non sto usando AS 6 in produzione, quindi ho rinunciato al problema di registrazione per ora, fino a quando non lo risolvono e scrivono una documentazione decente. Se trovo una soluzione, posterò qui. –