假设我有一个运行两个拓扑(A 和 B)的 Storm 集群,但我只是更改了主管机器中的 ${storm_dir}/logback/cluster.xml
,所以 A 和 B使用相同的日志配置,如何在不同的项目中配置 logback.xml
而不是在 storm-cluser 中更改它?我很担心这个
最佳答案
关于官方文档没有其他办法。日志仅在 $STORM_HOME/logback/cluster.xml 中配置(自 0.9 起)。主要问题是 logviewer 守护程序依赖于该文件才能查找和显示工作日志。覆盖它会破坏日志查看器功能。
就您个人而言,您可以通过不同的包来分隔拓扑。它允许您以类似的方式为您的拓扑配置记录器:
<logger name="com.example.topology.A">
<level level="DEBUG"/>
<appender-ref ref="FILE_A"/>
<appender-ref ref="CONSOLE"/>
</logger>
<logger name="com.example.topology.B">
<level level="WARN"/>
<appender-ref ref="FILE_B"/>
<appender-ref ref="CONSOLE"/>
</logger>
因此,您可以为不同的拓扑指定不同的记录器级别和附加程序,只需更改 cluster.xml 文件即可。
关于java - 如何在storm-project中配置不同的logback.xml?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29557037/