2010-04-11 7 views

risposta

0

La cosa tipica da fare è mettere un file log4j.properties nel classpath. Il doc di log4j ti dirà tutto ciò che devi sapere su come avere due appenders per la console e un file, è nei loro esempi. In altre parole, non preoccuparti del formato XML meno comune e mantieni il formato di proprietà molto comune.

29

Basta avere più di un appender nel log4j.xml, in questo modo:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration debug="true" 
        xmlns:log4j='http://jakarta.apache.org/log4j/'> 

    <appender name="consoleAppender" class="org.apache.log4j.ConsoleAppender"> 
     <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss} %5p %c{1} - %m%n"/> 
     </layout> 
    </appender> 

    <appender name="fileAppender" class="org.apache.log4j.RollingFileAppender"> 
     <param name="append" value="false"/> 
     <param name="file" value="out/learning.log"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/> 
     </layout> 
    </appender> 

    <root> 
     <level value="INFO"/> 
     <appender-ref ref="consoleAppender"/> 
     <appender-ref ref="fileAppender"/> 
    </root> 

</log4j:configuration> 
+1

domanda stupida, ma dovrei inserirlo nella stessa cartella della mia cartella hibernate.cfg? Il mio hibernate.cfg.xml è nella mia cartella/src. Sto usando netbeans e mi dispiace per il classpath scusa! – Blankman

+0

Non metterei altro che i file .java nella directory/src. Crea una nuova directory chiamata/config e inserisci la configurazione di Hibernate e log4j al suo interno. Quindi aggiungere la directory/config al classpath. – duffymo

+1

Immagino di non capire come aggiungere cose al mio classpath, sto usando netbeans. – Blankman

6

Ecco un esempio campione di log4j.xml utilizzato in Hibernate project.Just necessario inserire questo file nel classpath e si otterrà i messaggi di log sia sulla console che nel file. Se si desidera un appender specifico, è possibile modificare il tag.

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" 
    debug="false"> 
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender"> 
<layout class="org.apache.log4j.PatternLayout"> 
    <param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %5p %c{2}: %m%n" /> 
</layout> 
</appender> 
    <appender name="ASYNC" class="org.apache.log4j.AsyncAppender"> 
     <appender-ref ref="CONSOLE" /> 
     <appender-ref ref="FILE" /> 
</appender> 
<appender name="FILE" class="org.apache.log4j.RollingFileAppender"> 
    <param name="File" value="C:/hibernatelog.log"/> 
    <param name="MaxBackupIndex" value="100" /> 
<layout class="org.apache.log4j.PatternLayout"> 
    <param name="ConversionPattern" value="[%d{dd/MM/yy hh:mm:ss:sss z}] %5p %c{2}: %m%n" /> 
</layout> 
</appender> 
    <category name="org.hibernate"> 
     <priority value="DEBUG" /> 
    </category> 
    <category name="java.sql"> 
     <priority value="debug" /> 
    </category> 
    <root> 
     <priority value="INFO" /> 
     <appender-ref ref="ASYNC" /> 
    </root> 
</log4j:configuration> 

ho trovato questo uno più descrittivo poi sopra one.Hope esso aiuta.

Problemi correlati