我在使用log4j在風暴中記錄到文件時遇到了一些問題。如何使用Log4j和Storm Framework將日誌寫入文件?
之前提交我的拓撲結構,即在我的主要方法我寫的一些日誌報表和使用配置的記錄:
PropertyConfigurator.configure(myLog4jProperties)
現在,當我運行使用我的可執行的JAR在Eclipse中我的拓撲結構 - 其工作正常並且正在創建日誌文件。
或
當我使用「Java的罐子MyJarFile someOtherOptions」,我可以看到配置的log4j和文件 正確形成和記錄是在這兩個文件和控制檯進行(如 在我的log4j定義的運行我的可執行的JAR的.properties)但當我運行使用「風暴罐子MyJarFile MyMainClass someOtherOptions」它不能夠創建並登錄到 的任何文件,除了在控制檯上的同一個JAR。
我談論我打印的日誌之前提交我的拓撲結構。
有什麼辦法在使用風暴的時候在文件中記錄我的語句?我是不是必然使用org.apache.log4j。
您正在使用本地集羣作爲jar exec嗎?當您使用「storm jar ...」時,您正在使用羣集模式。那麼你是否在服務器上的storm install dir/log4j上檢查了storm.log.properties文件?當你在集羣模式下提交拓撲時,storm已經在運行並且正在寫日誌,可能在運行時不能覆蓋log4j,所以之前修改storm log4j文件應該可以在任何情況下工作。 – zenbeni 2014-09-05 08:54:19
@zenbeni我實際上在local_mode中運行。 我在風暴安裝目錄中找不到任何與log4j相關的屬性。我正在使用apache-storm-0.9.2-孵化。 – holmes840 2014-09-05 09:12:52