log4j集成mongodb

 应项目需求,为了解决高并发问题的产生,最近接触到了一种新技术,那就是log4j写日志记录到mongodb中。

   这里,我就以能够搭建成一个完整的项目为例,来简单介绍这种集成技术的用法。

   毋庸置疑,

   一、先导包:

   mongodb-java-driver.jar

   log4mongodb-java.jar

   log4j.jar

   三个包,这里就不提供下载地址了,网上一搜一大把。

 

   二、配置log4j.propertities文件

   log4j.rootLogger=INFO, MongoDB//这行代码不必多说

   log4j.appender.MongoDB=org.log4mongo.MongoDbAppender

   log4j.appender.MongoDB.databaseName=appname //mongodb数据库,自动创建

   log4j.appender.MongoDB.collectionName=log //mongodb集合,自动创建

   log4j.appender.MongoDB.hostname=127.0.0.1 //因为我的mongodb安装在本地

   log4j.appender.MongoDB.port=27017 //mongodb默认端口

   以上几行代码,是必须配置在log4j.propertities文件中的。

 

   三、java代码实现

   Logger logger = Logger.getLogger(LogTest.class);

   logger.INFO(json);
   mongodb存储数据一般也是key value形式,所以存数据最好也用json。
 
   四、框架到此为止算是搭建完成,简单吧!
 
   PS:如果大家在调用logger.INFO(json)时,控制台有数据输入,而且还能生成日志文件,但在mongodb中却查不到数据,问题很可能出在log4j.properties文件中,切忌完全复制粘贴,要理解其代码本意,详细介绍请见我的博文,《log4j日志管理技术》。例外,给大家简单介绍一下mongodb技术,只讲在这篇文章可能遇到的知识:
   mongodb不用手动创建数据库和集合,它是隐式自动创建的,非常简单。如上文要连接appname数据中的log集合,我们不必单独在mongodb中创建,只有我们向mongodb插数据的时候才会自动创建数据库和集合。
大家可以在打开mongo.exe,在shell命令中输入show dbs和show collections查看mongodb中已有的数据库和在此数据库下的集合。
 
 

你可能感兴趣的:(log4j集成mongodb)