我已经为Spark应用程序创建了Log4j文件。我想以这样的方式输出Spark应用程序ID字段,使其成为JSON表示形式的用户字段:
{"name":,"time":,"date":,"level":,"thread":,"message":,"app_id":}
如何从log4j文件中的应用程序本身检索Spark应用程序值?
我的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>