1、配置文件名是log4j2.xml,一定要放到src目录下,eclipse会自动复制到WEB-INF/classes目录下的。
2、要想把日志输出到文件,log4j2.xml要这样写,这样产生的日志文件就放到www目录的上级目录下的子目录logs中了:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="OFF">
<appenders>
<FastFile name="LogFile" fileName="logs/app.log">
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
</FastFile>
</appenders>
<loggers>
<root level="info">
<appender-ref ref="LogFile" />
</root>
</loggers>
</configuration>
3、改了配置文件之后,在eclipse里要刷新一下才生效。
4、程序实例:
package com.yuneng.platform;
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.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
@WebServlet(urlPatterns = {"/DataExchange.do"}, asyncSupported = true,
loadOnStartup = -1, name = "DataExchange", displayName = "DataExchange"
)
public class DataExchange extends HttpServlet {
private static Logger logger = LogManager.getLogger();
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
process(req, resp);
}
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException{
process(req, resp);
}
protected void process(HttpServletRequest req, HttpServletResponse resp)
throws IOException, ServletException{
try{
}
catch(Exception ex){
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("bbb");
logger.info("aaa");
}
}
5、fastfile的速度比file快20%-200%。