2010-04-11 7 views

Odpowiedz

0

Typową rzeczą jest umieszczenie pliku log4j.properties w ścieżce klas. Dokumentacja log4j powie Ci wszystko, co musisz wiedzieć o dwóch aplikacjach na konsolę i plik, znajduje się w ich przykładach. Innymi słowy, nie przejmuj się mniej popularnym formatem XML i trzymaj się bardzo typowego formatu właściwości.

29

Wystarczy mieć więcej niż jeden appender w log4j.xml, tak:

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

głupie pytanie, ale czy umieściłbym go w tym samym folderze co mój folder hibernate.cfg? Mój plik hibernate.cfg.xml znajduje się w folderze my/src. Używam netbeans, i mylić o classpath przepraszam! – Blankman

+0

Nie umieszczałbym niczego poza plikami .java w katalogu/src. Utwórz nowy katalog o nazwie/config i umieść w nim swoją konfigurację Hibernate i log4j. Następnie dodaj katalog/config do swojej ścieżki klas. – duffymo

+1

Chyba po prostu nie rozumiem, jak dodać rzeczy do mojej ścieżki klasy, używam netbeans. – Blankman

6

Oto jeden przykład próbka log4j.xml stosowane w hibernacji project.Just trzeba umieścić ten plik w ścieżce klasy i otrzyma komunikaty dziennika na konsoli, jak również w pliku. Jeśli chcesz, aby jakiś konkretny appender mógł się zmienić w tagu.

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

Znalazłem ten jeden opisowy, a następnie powyżej. Mam nadzieję, że pomoże.

Powiązane problemy