我试图通过运行example code来开始使用Apache风暴。我正在使用Maven仓库中的风暴0.10.1-beta1。在Apache Storm中禁用LocalCluster日志记录
不幸的是,当我运行这些时,控制台充满了信息级日志,淹没了我添加的任何System.out.print()
调用。运行LocalCluster时是否可以更改日志级别?我试过列出的解决方案here,而且这些解决方案似乎都没有工作。
从链接中,将Config.TOPOLOGY_DEBUG
属性更改为false不会删除信息级别日志,并且使用链接中的代码,我甚至不能使用logger.setLevel((Level) Level.FATAL)
,因为我得到“方法setLevel(Level)未定义对于Logger类型“,尽管它清楚地列在了log4j api中。
编辑1: 我也尝试过解决方案here,我把叫logback.xml
的XML转换./src与以下配置:
<configuration monitorInterval="60">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%-4r [%t] %-5p %c{1.} - %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="org.apache.zookeeper" level="WARN"/>
<Root level="WARN">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</configuration>
仍然没有运气,虽然。是否有任何额外的配置需要告诉风暴使用自定义日志设置?
更新:事实证明,风暴0.10.x切换到使用log4j2而不是logback,所以添加log4j2.xml与上述配置终于工作!
看在这里:https://stackoverflow.com/questions/30923617/how-to-implement-log-changes-in-a-storm-project-locally-using-eclipse/ –
只是试过,没有运气(见编辑)。 – gears88