請正確初始化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. javascript - node.js promise沒用2. golang - 用IDE看docker源碼時的小問題3. c++ - 如何正確的使用QWebEngineView?4. yii2中restful配置好后在nginx下報404錯誤5. javascript - js 寫一個正則 提取文本中的數據6. 算法 - python 給定一個正整數a和一個包含任意個正整數的 列表 b,求所有<=a 的加法組合7. android 如何實現如圖中的鍵盤上的公式及edittext的內容展示呢8. java - 我在用Struts2上傳文件時,報以下錯誤怎么回事?9. php自學從哪里開始?10. 有會apicloud 混合開發的朋友嗎?
