Извлечение значения пользовательского поля из Spark с помощью Log4j JSON - PullRequest
0 голосов
/ 18 февраля 2019

Я создал файл Log4j для приложения Spark.Я хочу вывести поле идентификатора приложения Spark таким образом, чтобы оно стало пользовательским полем в представлении JSON:

{"name":,"time":,"date":,"level":,"thread":,"message":,"app_id":}

Как получить значение приложения Spark из самого приложения в файле log4j?

Мой файл log4j:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>

    <appender name="Json" class="org.apache.log4j.ConsoleAppender">
        <layout class="net.logstash.log4j.JSONEventLayoutV1">
            <param name="UserFields" value="app-id:${app-id}" />
        </layout>
    </appender>

    <root>
        <level value="INFO"/>
        <appender-ref ref="Json"/>
    </root>
</log4j:configuration>
...