我在使用 storm 中的 log4j 记录到文件时遇到了一些问题。
在提交我的拓扑之前,即在我的主要方法中,我编写了一些日志语句并使用以下方法配置了记录器:
PropertyConfigurator.configure(myLog4jProperties)
现在,当我在 eclipse 中使用我的可执行 jar 运行我的拓扑时 - 它工作正常,正在按预期创建日志文件。
或者
当我使用“java -jar MyJarFile someOtherOptions”,我可以看到正在配置 log4j 并且文件是 格式正确,日志记录在文件和控制台上完成(如 在我的 log4j.properties 中定义)但是 当我使用“storm jar MyJarFile MyMainClass someOtherOptions”运行同一个 jar 时,它无法创建和记录 进入除控制台之外的任何文件。
我说的是我在提交拓扑结构之前打印的日志。
有没有办法在使用 storm 时将我的语句记录在文件中?我不一定要使用org.apache.log4j。
最佳答案
Storm 框架使用自己的日志记录。您的日志很可能最终会出现在安装了 storm 的日志目录中({Storm DIR}/logs)。您可以在 {Storm DIR}/logback/cluster.xml 中找到 Storm 日志属性。它使用 logback 而不是 log4j
关于java - 如何使用 Log4j 和 Storm Framework 将日志写入文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25679963/