如何使用mongodb在java应用程序的日志文件中记录所有查询?

时间:2011-07-24 17:19:26

标签: mongodb logging morphia

我有一个使用morphia来处理mongodb的java应用程序。

我想将所有发送到mongodb的查询记录在一个文件中,我可以对其进行分析以提高性能。但我找不到记录它们的方法。

我知道mongodb可以在system.profile集合中记录查询,但我仍然想要一个日志文件。

怎么做?

2 个答案:

答案 0 :(得分:5)

您使用SLF4J还是Logback / Log4J?将Morphias'SLF4JExtension添加到您的CLASSPATH。

然后只需启用com.google.code.morphia记录器并将其记录在任何您想要的位置。

答案 1 :(得分:0)

我在Java MongoDB驱动程序(版本3.9.1)之上使用了Morphia(版本1.3.2),并且能够通过设置org.mongodb.morphia记录器级别来启用实际的查询记录(使用Log4j2)。到trace。也就是说,在我的log4j2.xml中:

<Loggers>
    ...
    <Logger name="org.mongodb.morphia" level="trace" />
    ...
</Loggers>