請正確初始化log4j系統。在運行Web服務時
這些消息有些棘手,足以使人們創建此消息使其更加清晰:https://issues.apache.org/bugzilla/show_bug.cgi?id =25747
關于它們的棘手之處在于,如果Log4j找不到其log4j.properties(或log4j.xml)文件,并且該文件既好又花哨但從配置的角度來看它的內容不完整,則會寫警告。
以下段落摘自此處:http://svn.apache.org/repos/asf/logging/log4j/tags/v1_2_9/docs/TROUBLESHOOT.html
日志輸出通過使用附加程序寫入目標。 如果沒有任何附加程序附加到類別或其任何祖先,則在嘗試登錄時會收到以下消息:
log4j: No appenders Could be found for category (some.category.name).log4j: Please initialize the log4j system properly.
Log4j沒有默認的日志記錄目標。 用戶有責任確保所有類別都可以繼承附加程序。通過將附加器附加到根類別,可以輕松實現這一點。
您可以log4j.rootLogger在log4j文檔中找到有關如何配置rootlogger()的信息,基本上在文件開頭添加了以下內容:
log4j.rootLogger=debug, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
(確保您尚未有名為appender的附加程序stdout;還要注意您為root記錄程序指定的級別,debug它非常冗長,并且應用程序中的每個庫都將開始向控制臺)。
關于log4j.properties/ log4j.xml,我建議您放置該文件,/WEB-INF/classes因為將其公開以進行不同的調整(激活/停用日志,更改日志級別等)非常重要。您也可以將其放在類路徑的JAR中(如注釋中所指定),但是它將被包含在存檔中(希望位于存檔中的正確位置),并且不會像它那樣容易處理在/WEB-INF/classes。
解決方法問這個問題似乎很愚蠢,但我很困惑。我提到了配置Log4j屬性,但這似乎無濟于事。
我已經編寫了一個簡單的Web服務HelloWorld。而在運行它時,我得到這樣的錯誤:
log4j:WARN找不到記錄器的附加程序(org.apache.axis.transport.http.AxisServlet)。log4j:WARN請正確初始化log4j系統。
我不確定為什么會這樣。
我正在使用Eclipse生成Web服務,并將其部署在Tomcat6.0中。我查看了《Axis開發人員指南》并根據它們
log4j.configuration =log4j.properties使用此系統屬性可以指定Log4J配置文件的名稱。如果未指定,則默認配置文件為log4j.properties。axis.jar中提供了一個log4j.properties文件。
我在中找不到log4j.properties axis.jar。
有什么幫助嗎?
相關文章:
1. mac OSX10.12.4 (16E195)下Mysql 5.7.18找不到配置文件my.cnf2. mysql - 數據庫表中,兩個表互為外鍵參考如何解決3. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?4. mysql - 數據庫建字段,默認值空和empty string有什么區別 1105. mysql儲存json錯誤6. sql語句 - 如何在mysql中批量添加用戶?7. mysql - 表名稱前綴到底有啥用?8. php - 公眾號文章底部的小程序二維碼如何統計?9. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?10. mysql - 怎么生成這個sql表?
