Log4j是关键的日志文件,由于不了解DEBUG模式,没有日志调试基本就不可能了。
Log4j由以下几部分组成:
jar包
配置文件log4j.properties
初始化sevlet
sevlet配置
调用static Logger logger=Logger.getLogger("name");
jar包:
采用百度提供的dependance文件。注意,将所有jar包都直接放置在项目文件目录中的WEB-INF/lib下,eclipse会直接加入到buildpath。
配置文件log4j.properties:参考:http://www.iteye.com/topic/378077
#等级,输出目的地名
log4j.rootLogger=INFO, Stdlog
#方式(目的地定义)
log4j.appender.Stdlog=org.apache.log4j.ConsoleAppender
#样式
log4j.appender.Stdlog.layout=org.apache.log4j.PatternLayout
log4j.appender.Stdlog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%t] [%c] [%p] - %m%n
初始化的sevlet
package baetest;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.log4j.PropertyConfigurator;
/**
* Servlet implementation class InitServlet
*/
@WebServlet("/InitServlet")
public class InitServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public InitServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
public void init() throws ServletException {
super.init();
String path = getServletContext().getRealPath("/");
String log4jpropfile = path + getInitParameter("log4jpropfile");
// Initialize log4j
PropertyConfigurator.configure(log4jpropfile);
}
}
sevlet配置
<servlet>
<servlet-name>InitServlet</servlet-name>
<servlet-class>baetest.InitServlet</servlet-class>
<init-param>
<param-name>log4jpropfile</param-name>
<param-value>WEB-INF/log4j.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
load on startup关键
最后,可以直接在相关类中定义Logger和使用。
下一步,log4j在BAE上测试。