2011-10-28 2 views
6

Abbiamo attivato la registrazione jboss nella nostra applicazione. Attualmente stiamo usando il 'Rotating-file-handler' per registrare tutto nei file. Questo è definito nel file 'standalone.xml' di jboss. Stiamo esaminando la registrazione di alcune informazioni in un database di registrazione; per il bene degli indicatori di costruzione ecc.
Estensione di JBoss AS 7 al database

Qualcuno può offrire alcune opzioni che possiamo utilizzare qui. Il nostro obiettivo finale è quello di scrivere le cose nel file; lo intercetteremo e lo scriveremo in DB. Non vogliamo farlo in linea poiché sarebbe una chiamata bloccante.

risposta

0

Utilizzare AsyncAppender e associarvi un attributo DBA.

qualcosa di simile per la parte asincrona:

<async-handler name="ASYNC"> 
    <level name="DEBUG"/> 
    <queue-length value="1024"/> 
    <overflow-action value="BLOCK"/> 
    <subhandlers> 
    <handler name="CONSOLE"/> <!-- if you have these defined --> 
    <handler name="FILE"/> <!-- if you have these defined --> 
    <handler name="DB"/> 
    </subhandlers> 
</async-handler> 

e quindi definire DB come DBAppender (o JDBCAppender seconda di ciò che si è installato).

<log4j-appender name="DB" class="org.apache.log4j.jdbc.JDBCAppender"> 
     <error-manager> 
     <only-once/> 
     </error-manager> 

    <level name="INFO"/> 
    <properties> 
     <property name="URL">jdbc:postgresql://localhost:5432/data</property> 
    <property name="driver">org.postgresql.Driver</property> 
    <property name="user">admin</property> 
    <property name="password">admin</property> 
    </properties> 

    <formatter> 
     <pattern-formatter pattern="insert into Log values (current_timestamp,'%c', '%t','%p','%m')" /> 
     </formatter> 
    </log4j-appender> 
+0

è possibile fornire qualche dettaglio in più per favore? – shergill

+0

Inoltre dipende da quale versione di JBoss stai usando. –

+0

in quale file stai apportando le seguenti modifiche? standalone.xml? – shergill