2016-05-21 14 views
6

Jestem nowym użytkownikiem piły łańcuchowej i log4j, jest to kontynuacja poprzedniej wersji post. Mam kilka urządzeń korzystających teleskopowe gniazd wysłać rekordy do układanki stosując następujący plik konfiguracyjny:konfigurowanie piły łańcuchowej Apache do wprowadzania danych z wielu urządzeń

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration > 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" debug="true"> 
<plugin name="XMLSocketReceiver" class="org.apache.log4j.net.XMLSocketReceiver"> 
     <param name="decoder" value="org.apache.log4j.xml.UtilLoggingXMLDecoder"/> 
     <param name="Port" value="2222"/> 
    </plugin> 
<appender name="fileAppender" class="org.apache.log4j.RollingFileAppender"> 
     <param name="Threshold" value="INFO" /> 
     <param name="File" value="chainsawtablet.log"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d %-5p [%c{1}] %m %n" /> 
     </layout> 
    </appender> 
<root> 
    <priority value="debug"/> 
    <appender-ref ref="fileAppender" /> 
</root> 
</log4j:configuration> 

odbiornik wydaje się działać na tym, że widzę kartę w GUI łańcuchową z niektórych zapisów dziennika. ale nigdy nie wydaje się, aby zapisać plik dziennika. może to czeka na jeden dzień lub coś. czy istnieje sposób na częstsze przewracanie?

W pliku dziennika nie pojawiają się żadne rekordy. czy potrzebuję trochę xml, aby podłączyć odbiornik do aplikatora lub czy jest on automatyczny?

Chciałbym pliki dziennika oddzielone przez ich host źródłowy. Ponadto, jeśli połączenie zostanie ponownie uruchomione, chciałbym, aby plik dziennika się wywracał.

Chciałbym również zachować tygodniowe pliki logów.

Chciałbym zobaczyć wszystkie rekordy dziennika, więc powinien: param name="Threshold"value="INFO" być ALL zamiast INFO?

Co na temat: priority value="debug"?

Wszelkie wskazówki będą mile widziane.

edytuj: próbowanie: datePattern value="yyyyMMdd-HHmm", które rzekomo przewraca się co minutę, również nie generuje żadnego pliku dziennika.

edytuj powiązane question i post, również here i there.

Odpowiedz

0

Nie wydaje się, że masz log4j podłączony do Chainsaw. Komunikaty dziennika, które widzisz w GUI Chainsaw - czy wyglądają jak wewnętrzne logi Chainsaw'a?

Należy skonfigurować SocketAppender i połączyć go z co najmniej jednym programem rejestrującym lub programem rejestrującym root. Wydarzenia z twojej aplikacji pojawią się w Piły łańcuchowej. Jeśli chcesz wylogować się do pliku dziennika, to jest inna sprawa, ale zakładam, że chcesz używać Chainsaw jako GUI na żywo-event-display, ponieważ to jest to, czego większość ludzi używa.

Oto minimalny plik konfiguracyjny:

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

    <appender name="STDOUT" class="org.apache.log4j.ConsoleAppender"> 
    <layout class="org.apache.log4j.PatternLayout"> 
     <param name="ConversionPattern" value="%d %5p %c - %m%n"/> 
    </layout> 
    </appender> 

    <appender name="CHAINSAW" class="org.apache.log4j.net.SocketAppender"> 
    <param name="RemoteHost" value="localhost"/> 
    <param name="Port" value="4445"/> 
    <param name="LocationInfo" value="true"/> 
    </appender> 

    <root> 
    <level value ="debug"/> 
    <appender-ref ref="STDOUT" /> 
    <appender-ref ref="CHAINSAW" /> 
    </root> 

</log4j:configuration> 
+0

Nie używam log4j. komunikaty, które widzę, pochodzą z odbiornika gniazda xml - wyglądają jak zwykłe rekordy rejestrowania jdk xml. –

+0

mówisz, że potrzebuję aplikanta dla każdego odbiorcy? –

+0

Staram się podążać za tym, co próbujesz skonfigurować. Wspomniałeś o _i jestem nowy do piły łańcuchowej i log4j_, ale potem nie używam log4j_. Co to jest _jigsaw_? Co próbujesz zrobić z Chainsaw - masz GUI, za pomocą którego monitorujesz zdarzenia rejestrowania na żywo? Czy możesz skonfigurować swoją aplikację, wykonując rejestrowanie? Czy uruchamia API 'log4j' i loguje się do zdalnego gniazda? – javabrett

Powiązane problemy