JSONLayout не имеет параметра, соответствующего элементу KeyValuePair - PullRequest
1 голос
/ 02 июня 2019

Ниже приведена конфигурация JSONLayout в log4j2.xml

        <JSONLayout complete="true" charset="UTF-8" compact="true">
            <KeyValuePair key="application-name" value="sample-app"></KeyValuePair>
        </JSONLayout>

POM.xml

org.apache.logging.log4j:log4j-core:jar:2.7:compile
org.apache.logging.log4j:log4j-api:jar:2.7:compile
org.apache.logging.log4j:log4j-jul:jar:2.7:compile
com.fasterxml.jackson.core:jackson-databind:jar:2.9.9:compile

Я вижу, что сообщение печатается в формате JSON, но каким-то образом пара ключ-значение не выполняетсяраспознан.

2019-06-01 21:11:23,305 localhost-startStop-1 ERROR layout JSONLayout has no parameter that matches element KeyValuePair
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.

Есть идеи, почему пара ключей не распознана?

1 Ответ

0 голосов
/ 10 июня 2019

log4j2 версии 2.7 не имеет этой функции KeyValuePair как вложенного элемента JSONLayout. Используйте версию 2.11.2 o зависимости log4j для ее решения -

org.apache.logging.log4j:log4j-core:jar:2.11.2:compile
org.apache.logging.log4j:log4j-api:jar:2.11.2:compile
org.apache.logging.log4j:log4j-jul:jar:2.11.2:compile
com.fasterxml.jackson.core:jackson-databind:jar:2.9.9:compile
...