项目结构图
web.xml
Log4J4Mongodb UserServlet UserServlet com.berwin.test.MongodbLogServlet UserServlet /user
log4j.properties
#将Mongodb日志存放在数据库中,便于做日志分析系统log4j.rootLogger=debug, stdout, R, MongoDB log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%-d{MM-dd HH:mm:ss.SSS} %-5p - [%c{1}.%t] %m%n log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=logs/cwBiOHD.log log4j.appender.R.MaxFileSize=1000KB log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.PatternLayoutlog4j.appender.R.layout.ConversionPattern=%-d{MM-dd HH:mm:ss.SSS} %-5p - [%c{1}.%t] %m%nlog4j.appender.MongoDB=org.log4mongo.MongoDbAppenderlog4j.appender.MongoDB.databaseName=yanglog4j.appender.MongoDB.collectionName=yanglog4j.appender.MongoDB.hostname=127.0.0.1log4j.appender.MongoDB.port=27017
MongodbLogServlet.java
package com.berwin.test;import org.apache.log4j.Logger; 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;public class MongodbLogServlet extends HttpServlet { private static final Logger logger = Logger.getLogger(MongodbLogServlet.class); private static final long serialVersionUID = 1L; public MongodbLogServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { logger.info("start do get..."); logger.error("请求出错!"); }}