我有一个已经开发的组件,我现在正尝试用作微服务,所以我添加了一个非常简单的火花层来发出请求。
但是,该组件使用log4j进行日志记录。我已经自动和以编程方式设置了log4j,并且在两种情况下,我的组件的appender只写了spark消息。输出如下:
LOG4J config file is missing
Configuring Log4J: /Users/alberto.cruz/WsCor/WsCor_log4j.properties
0 [Thread-0] INFO org.eclipse.jetty.util.log - Logging initialized @7196ms to org.eclipse.jetty.util.log.Slf4jLog
519 [Thread-0] INFO spark.embeddedserver.jetty.EmbeddedJettyServer - == Spark has ignited ...
519 [Thread-0] INFO spark.embeddedserver.jetty.EmbeddedJettyServer - >> Listening on 0.0.0.0:4567
第一条消息是spark生成的内容,它抱怨没有log4j配置文件。第二个是我的应用程序生成的消息,它检测到缺少log4j appender并以编程方式配置log4j。第三条消息由java spark本身编写。好像它再次配置log4j一样。
然后我尝试将log4j.properties放在spark应用程序的默认包中,但无济于事。 Log4J配置正确(第一个和第二个消息没有出现在输出上),但似乎没有配置我的appender(这就是,只有每个appender都会写入spark输出)。
使用spark时,我在哪里可以配置log4j appender?