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.iteye.com/topic/179991 详细的log4j的介绍
http://topic.youkuaiyun.com/t/20050905/12/4250121.html 按其说法更换了配置文件,才解决了第1个问题,并且能够出现log文件了。
最后谢谢同事了。o(∩_∩)o...