請正確初始化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. gulp-ruby-sass編譯出來的文件有錯2. javascript - table固定尾行,有人寫過嗎?3. java - 如何理解“不要通過共享內存來通信,而應該通過通信來共享內存”?4. 引入traits后,為什么index得是空的呢?5. dockerfile - docker-compose啟動lnmp失敗?6. javascript - 使用node.js的ws模塊不斷地向客戶端發送消息,應該如何不斷地去觸發“發送”這個動作7. javascript - 為什么會打印兩次啊?8. javascript - 如何在NW.JS中使用Node自動重啟進程?9. string - Python字符串不區分大小寫替換10. angular.js使用$resource服務把數據存入mongodb的問題。
