添加子文档log4mongo

时间:2018-02-19 09:06:08

标签: java mongodb log4j

我正在使用log4j在执行期间提取信息。我有兴趣将这样的信息存储到数据库中。特别是,我选择了MongoDB,我正在使用log4mongo。

一切都很好,我执行应用程序并且我能够将信息收集到MongoDB中,问题是我想用特定的结构记录信息,而不是String。也就是说,我想生成一个子文档。

问题异常是:

 Exception in thread "main" com.mongodb.util.JSONParseException: 
   {"{ \"Key1\" : \"value1\" , \"Key2\" : \"value2\"}"}

我写的log4j.properties文件如下:

   log4j.rootLogger=debug, MongoDB
   log4j.appender.MongoDB=org.log4mongo.MongoDbPatternLayoutAppender
   log4j.appender.MongoDB.hostname=localhost
   log4j.appender.MongoDB.port=27017
   log4j.appender.MongoDB.databaseName=db
   log4j.appender.MongoDB.collectionName=coll
   log4j.appender.MongoDB.layout=org.log4mongo.MongoDbPatternLayout
   log4j.appender.MongoDB.layout.ConversionPattern={"message":%m}

我按如下方式调用log.debug:

private void extract() {
     BasicDBObject obj = new BasicDBObject();

     obj.put("Key1", "value1");
     obj.put("Key2", "value2");

     LOGGER.debug(obj);
}

0 个答案:

没有答案