Как отключить log4j debug-logging для http-api com.spotify.docker-client - PullRequest
0 голосов
/ 04 октября 2018

Использование log4j 1.2.17 и com.spotify.docker-client 6.1.1 в Java8.Если я установлю уровень log4j для корневого журнала в DEBUG, то http-api клиента Docker запишет в журнал много сообщений типа

09:42:50,624 DEBUG jersey-client-async-executor-0 headers:onResponseReceived:113 - http-outgoing-13 << HTTP/1.1 200 OK
09:42:50,624 DEBUG jersey-client-async-executor-0 headers:onResponseReceived:116 - http-outgoing-13 << Api-Version: 1.37
09:42:50,624 DEBUG jersey-client-async-executor-0 headers:onResponseReceived:116 - http-outgoing-13 << Docker-Experimental: false
09:42:50,624 DEBUG jersey-client-async-executor-0 headers:onResponseReceived:116 - http-outgoing-13 << Ostype: linux
09:42:50,624 DEBUG jersey-client-async-executor-0 headers:onResponseReceived:116 - http-outgoing-13 << Server: Docker/18.03.1-ce (linux)
09:42:50,624 DEBUG jersey-client-async-executor-0 headers:onResponseReceived:116 - http-outgoing-13 << Date: Thu, 04 Oct 2018 06:42:50 GMT
09:42:50,624 DEBUG jersey-client-async-executor-0 headers:onResponseReceived:116 - http-outgoing-13 << Content-Type: text/plain; charset=utf-8
09:42:50,624 DEBUG jersey-client-async-executor-0 headers:onResponseReceived:116 - http-outgoing-13 << Transfer-Encoding: chunked

Я не понимаю, как его отключить.Все мои попытки:

log4j.rootLogger=DEBUG, stdout
log4j.logger.jersey-client-async-executor-0=INFO
log4j.logger.com.sun.jersey=INFO
log4j.logger.com.spotify=INFO

И это не останавливает это.Как я могу отключить DEBUG-loggin jersey-client-async-executor-0?Спасибо.

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

В log4j все определенные пользователем регистраторы наследуют от своих родителей, и все регистраторы являются прямыми или косвенными потомками rootLogger.

Чтобы остановить регистратор для наследования от родителя, добавьте это вваш код:

log4j.additivity.jersey-client-async-executor-0=false

это позволит вам определить, какой уровень журнала вы хотите для этого конкретного компонента, и только тот, который вы определяете.Итак, все, что вам нужно, это:

log4j.rootLogger=DEBUG, stdout
log4j.logger.jersey-client-async-executor-0=INFO, stdout
log4j.additivity.jersey-client-async-executor-0=false

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

0 голосов
/ 04 октября 2018

Вы устанавливаете уровень журнала на Debug , а затем вы регистрируете на регистраторе jersey-client, таким образом, он также устанавливается на уровне отладки.

Либо установите свойrootlogger на другой уровень или не добавляйте jersey-client в логгер.

...