Я хочу передать некоторое значение из своего кода в свои журналы в формате JSON. Ключ этого значения должен определяться в файле конфигурации журнала.
Моя конфигурация XML log4j2-spring.xml выглядит следующим образом:
<Console name="Console" target="SYSTEM_OUT">
<JsonLayout complete="false" stacktraceAsString="true" eventEOL="true" compact="true">
<KeyValuePair key="ValueFromCode" value="Value"/>
</JsonLayout>
</Console>
Когда я пишу
Logger logger = LogManager.getLogger(this.getClass());
logger.info("TestXXX")
приведенная выше конфигурация записывает журнал как
{"instant":{"epochSecond":1625138085,"nanoOfSecond":35827700},"thread":"XXXXX","level":"INFO","loggerName":"XXXXXXX","message": "TestXXX", "endOfBatch": false, "loggerFqcn": "org.apache.logging.slf4j.Log4jLogger", "threadId": XX, "threadPriority": X, "ValueFromCode":"Value "}
Я хочу передать значение этого ключа ValueFromCode из моего кода. Что-то вроде
Logger logger = LogManager.getLogger(this.getClass());
logger.info("TestXXX","some value for Key ValueFromCode")
и это должно записать мой журнал как {"instant":{"epochSecond":1625138085,"nanoOfSecond":35827700},"thread":"XXXXX","level":"INFO","loggerName":"XXXXXXXXXX","message":"TestXXX" ,"endOfBatch":false,"loggerFqcn":"org.apache.logging.slf4j.Log4jLogger","threadId":XX,"threadPriority":X,"ValueFromCode":"некоторые значение для ключа ValueFromCode"}
Пожалуйста, скажите мне, достижимо ли это. Если есть альтернативный способ добиться того же.