Log4j最基礎的介紹我就不說了,說點我遇到的問題和解決辦法。
在對已有的weblogic項目加log4j的時候,出現了點問題。首先出現很多配置log4j的人都出現的2行紅色的報錯信息。然後是log文件沒有生成。最後是生成的log文件是空的。
先說報錯信息:
log4j:WARN No appenders could be found for
logger(org.apache.struts.util.PropertyMessageResources).
log4j:WARN Please
initialize the log4j system properly.
這個問題是因爲我在配置文件中沒有寫log4j.rootLogger。別的原因可能沒有放到WEB-INF/classes/下面啊也有可能出現這種錯誤。
那初始化類怎麼寫呢?
import java.io.IOException; import java.net.URL; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.PropertyConfigurator; public class Log4JInit extends HttpServlet { public void init(ServletConfig conf) throws ServletException { // URL pro=this.getClass().getClassLoader().getResource("/log4j.properties"); // System.out.println(pro); // PropertyConfigurator.configure(pro); super.init(conf);//如果註釋這行,不註釋上面的,效果一樣。 } public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { } public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { } }如果配置文件沒有問題,應該就可以出現log文件了。可是我出現的log文件卻是空的。後來發現問題還是出在配置文件上。/PRE>
配置文件中雖然定義了log4j.rootLogger,但是由於我定義的是error,而我在代碼中寫的卻是log.debug,因此沒有任何信息輸出。修改後就可以正常的輸出log日誌了。
這次問題的解決要謝謝幾個網頁,順便貼出,希望對大家能夠幫助。
http://www.javaeye.com/topic/179991 詳細的log4j的介紹
http://topic.csdn.net/t/20050905/12/4250121.html 按其說法更換了配置文件,才解決了第1個問題,並且能夠出現log文件了。
最後謝謝同事了。o(∩_∩)o...