Как должен выглядеть log4j.properties?

После обсуждения здесь я все еще не могу настроить свою программу / бензопилу

Когда я запускаю ChainSaw, я выбираю

  • позвольте мне использовать простой приемник на порт 4445

И в моей программе я установил конфигурацию:

PropertyConfigurator.configure("log4j.properties");

И, наконец, запустите программу и нажмите Simple Receiver в бензопилу

log4j.properties version1

log4j.rootLogger=DEBUG, server

log4j.appender.server=org.apache.log4j.net.SocketAppender
log4j.appender.server.Port=4445
log4j.appender.server.RemoteHost=localhost
log4j.appender.server.ReconnectionDelay=10000

log4j.properties version2

log4j.rootCategory=DEBUG, zeroconf, chainsaw
# Socket Appender
log4j.appender.chainsaw=org.apache.log4j.net.SocketAppender
log4j.appender.chainsaw.remoteHost=localhost
log4j.appender.chainsaw.port=4445
log4j.appender.chainsaw.locationInfo=true

никто из них не работает. Что я должен делать?

1 ответ

Решение

Пытаться:

log4j.threshold=ALL
log4j.debug = true
log4j.rootLogger=DEBUG, chainsaw
# Socket Appender
log4j.appender.chainsaw=org.apache.log4j.net.SocketAppender
log4j.appender.chainsaw.RemoteHost=localhost
log4j.appender.chainsaw.Port=4445
log4j.appender.chainsaw.LocationInfo=true

Это хороший пример конфигурации бензопилы, который также необходим:

http://magnus-k-karlsson.blogspot.com/2010/02/viewingmonitoring-your-log4j-generated.html

Начиная с версии 2.4, Log4j теперь поддерживает настройку через файлы свойств. Обратите внимание, что синтаксис свойства НЕ совпадает с синтаксисом, используемым в Log4j 1.

appender.server.type=Socket
appender.server.name=server
appender.server.port=4445
appender.server.host=localhost
appender.server.reconnectDelayMillis=10000

...

rootLogger.appenderRef.server.ref = server

У вас могут быть проблемы с reconnectionDelayMillis, В архивах списков рассылки logging-log4j-dev я обнаружил, что:

В документации ( https://logging.apache.org/log4j/2.x/manual/appenders.html) все еще есть параметр, указанный как "reconnectionDelayMillis", но теперь код, очевидно, ищет "reinnectDelayMillis". Я собираюсь изменить свой конфиг, чтобы использовать новое имя, но я подумал, что укажу на разъединение, так как это немного запутало меня. Спасибо - Сэм

Возможно, это уже исправлено / унифицировано, но я не проверял это в более новых версиях log4j. Если у вас возникнут проблемы, попробуйте использовать reconnectDelayMillis,

Более подробный пример можно найти в разделе " Конфигурация со свойствами".

Другие вопросы по тегам