ОШИБКА Класс класса org.apache.logging.log4j.core.pattern.MapPatternConverter не может содержать несколько статических методов newInstance - PullRequest
0 голосов
/ 11 апреля 2019

При реализации log4j2 я получаю класс класса ERROR org.apache.logging.log4j.core.pattern.MapPatternConverter не может содержать несколько статических методов newInstance

  • Создать класскоторый реализует Logger из Log4j2, использует StringMapMessgae для добавления журналов и использует приведенную ниже конфигурацию log4j для получения значений для MapMessage в patternLayout
val final logger:org.apache.logging.log4j.Logger = LogManager.getLogger(Logger.class);


val mapMessage:StringMapMessage = new StringMapMessage();

class MyClass(){
  //Append to mapMessage
  def someMethod(message:String ){ 
    mapMessage.with("Key1", Objects.requireNonNull("someValue--1", "defaultValue"));
  }

  //Append to mapMessage
  def doSomeMoreMethod(key:String messgae:String) {
    mapMessage.with("Key2", Objects.requireNonNull("someValue--2", "defaultValue"));
  }

  def readyToLog(){
  //sending the map to the logger
  logger.info(mapMessage)
  }
}
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
    <Appenders>
        <Console name="console" target="SYSTEM_OUT">
            <PatternLayout
              pattern="%date{ISO8601}Z %level %map{Key1} %map{Key2} %n"
                />
        </Console>
    </Appenders>
    <Loggers>
        <Root level="debug" additivity="false">
            <AppenderRef ref="console" />
        </Root>
    </Loggers>
</Configuration>

Ожидаемый

[INFO] 2019-04-10 13: 08: 40.687 [main-ScalaTest-running-YourYourApplicationTest] MyClass $ - someValue - 1 someValue - 2

Actual PatternLayout не может преобразовать указанный шаблондля stringMapMessage

2019-04-10 13: 08: 40,559 main-ScalaTest-running-YourYourApplicationTest ERROR Класс класса org.apache.logging.log4j.core.pattern.MapPatternConverter не может содержать несколько статических newInstanceметоды 2019-04-10 13: 08: 40 560 main-ScalaTest-running-YourYourApplicationTest ОШИБКА Нераспознанный спецификатор преобразования [map] начиная с позиции 68 в схеме преобразования.[INFO] 2019-04-10 13: 08: 40.681 [main-ScalaTest-running-YourYourApplicationTest] MyClass $ -% map
[ОШИБКА] 2019-04-10 13: 08: 40.687 [main-ScalaTest-running-YourYourApplicationTest] MyClass $ -% map

...