java - 如何使用 Log4j 和 Storm Framework 将日志写入文件?

标签 java logging log4j slf4j apache-storm

我在使用 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/

相关文章:

java - 想要使用@query传递字符串来查询Spring数据

java - 在Android上混合声音文件

java - 如何在Debian服务器上持续自动运行.jar?

java - Spring Security 数据库授权

java - Solaris 上不明确的输出重定向

google-chrome - 将 Chrome 中的 console.log 保存到文件中

java - Log4j2 获取日志记录事件

grails - 将 Log4J 附加程序注入(inject) Grails 应用程序

logging - 如何使用log4j登录到在YARN上运行的Spark应用程序中的本地文件系统?

tomcat - 缺少顺序 log4j 输出