log4j与mongodb整合
1、首先安装mongodb数据库,详细安装方法请百度;
2、在你的运用程序中引用以下类库:

Mongo Java driver jar包 下载Log4J jar包 把稳版本,一定要1.2.16及以上。下载log4mongo-java jar包 下载
3、在你的web项目中创建log4j.properties文件。
4、配置log4j.properties文件,使之整合mongodb:
log4j.rootLogger=INFO,stdout,MongoDB log4j.appender.MongoDB=org.log4mongo.MongoDbAppender log4j.appender.MongoDB.databaseName=logs log4j.appender.MongoDB.collectionName=log log4j.appender.MongoDB.hostname=ubuntu log4j.appender.MongoDB.port=27017 log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
5、配置运用的日志输出格式:
1: log4j.logger.com.cnblogs.leefreeman.servlet=INFO,action
2: log4j.appender.action.Threshold = INFO
3: log4j.appender.action=org.apache.log4j.DailyRollingFileAppender
4: log4j.appender.action.encoding=utf8
5: log4j.appender.action.File=/opt/logs/action.log
6: log4j.appender.action.DatePattern = '_'yyyy-MM-dd'.log'
7: log4j.appender.action.layout=org.apache.log4j.PatternLayout
8: log4j.appender.action.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %5p %c{1}:%L - %m%n
6、在运用程序中利用日志:
1: public class IndexServlet extends HttpServlet {
2: private static Logger logger = Logger.getLogger(IndexServlet.class);
3: private static final long serialVersionUID = -5244922269946905057L;
4:
5: @Override
6: protected void doGet(HttpServletRequest req, HttpServletResponse resp)
7: throws ServletException, IOException {
8: logger.info("hello log4j+mongodb");
9: PrintWriter out = resp.getWriter();
10: out.print("hello world");
11: out.flush();
12: out.close();
13: }
14: }
7、通过Mongodb客户端系统,查看日志情形:
日志成功写入mongdb数据库,可以看到在数据库中日志的构造相称清晰。
利用日志系统管理mongodb的日志
可以开拓一个日志系统连接mongodb数据库,进行日志数据的管理和剖析。你也可以利用mongodb目前有的一些Web客户端来管理,下面先容两个mongodb常用的Web客户端:
mongovision:利用extjs作为前端,体验较好,但须要java7。
rock_mongo:基于php的MongoDB管理工具。
mongodb的支配办法
在我们数据量不是太大的情形下,并且日志数据的主要性不是太强的时候,我们可以快速搭建出最大略的mongodb单实例模式,来储存日志数据。这种办法最大略最快速。
当我们考虑到安全、灾备等成分时,我们一样平常可以考虑主-从模式搭建mongodb做事器。
采取主-从模式后主节点挂掉了后从节点可以接替主机连续做事。这种模式比单节点的高可用性要好很多。
如果有一天数据越来越多,你创造mongodb处理它们越来越吃力,你就得想办法怎么让它减压。一样平常的做法是,支配多个从节点,来分担主节点压力。在这里我们可以想到Mysql的读写方案,同样也适宜Mongodb。
你可以让主节点用于写入,而从节点用于读操作(根据你的运用读和写操作的比例来分配)。这样读写分离,主从分担数据库操作压力。
把稳把稳:以上分享的mongodb各种模式的详细支配配置方法,如果你想要一起学习转发后关注我私信【资料】免费领取吧