2016-05-15 11 views
0

я написал сервер журнала, который съедает материал, идущий от кучки sockethandlers на других устройствах, и записывает его в лог-файл, который выглядит как:apache benzaw v2 получает: связывает исключение или соединение потеряно! :: некорректный поток заголовка: 3c3f786d

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!DOCTYPE log SYSTEM "logger.dtd"> 
<log> 
<record> 
    <date>2016-05-15T06:40:03</date> 
    ... 
</record> 
... 

Я новичок в бензопилы ,

бензопила может открывать эти файлы, используя: load java util file.

Если я добавлю простой приемник для порта 4445, я получаю исключение связывания.

если я добавляю простой приемник для порта 4560, я получаю соединение потерянным.

У меня нет конфигурационных файлов и я не уверен, как его написать.

Если я могу заставить простой приемник работать, может ли бензопила опрокинуть файлы журнала и отделить файлы журнала от устройства, из которого они идут?

благодаря

редактировать 1: похоже, что Reveiver может использовать: org.apache.log4j.xml.XMLDecoder, который не может быть правильным. это post предлагает: org.apache.log4j.xml.UtilLoggingXMLDecoder. ручная попытка этого не работает.

редактировать 2: благодаря Скотту deboy в списке рассылки log4j, этот конфигурационный файл работал:

<?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> 
<root> 
    <priority value="debug"/> 
</root> 
</log4j:configuration> 

редактировать 3: добавлено опрокидывание:

<?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="sample.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> 

это, кажется, работает, но все регистрации бензопилы (как и мои вещи) находится в файле журнала.

ответ

0

Chainsaw может анализировать файлы журнала, соответствующие формату log4j xml, или файлы обычного текстового журнала с согласованным форматом журнала через VFSLogFilePatternReceiver, но не ваш собственный XML-формат.

+0

Мои файлы журнала находятся в стандартном формате использования jdk, вы можете видеть файл dtd в файлах. бензопила ест их просто отлично, когда я вручную их открываю: загрузите файл утилиты java из меню. –