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

发布于 2024-11-26 08:11:49 字数 267 浏览 2 评论 0原文

我有一个 java 应用程序,它使用 morphia 与 mongodb 一起使用。

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

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

怎么做呢?

I have a java application which use morphia to work with mongodb.

I want to log all the queries sent to mongodb in a file, which I can analyze them to improve the performance. But I don't find a way to log them.

I know mongodb can log the queries in system.profile collection, but I still want a log file.

How to do that?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

喜爱纠缠 2024-12-03 08:11:49

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

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

Do you use SLF4J or Logback/Log4J? Add Morphias' SLF4JExtension to your CLASSPATH.

Then simply enable com.google.code.morphia logger and log it wherever you want.

金兰素衣 2024-12-03 08:11:49

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

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

I'm using Morphia (version 1.3.2) on top of Java MongoDB driver (version 3.9.1), and I was able to enable the actual query logging (using Log4j2) by setting org.mongodb.morphia logger level to trace. That is, in my log4j2.xml:

<Loggers>
    ...
    <Logger name="org.mongodb.morphia" level="trace" />
    ...
</Loggers>
虚拟世界 2024-12-03 08:11:49

使用 Wildfly 部署,我通过将以下内容添加到 stadalone.xml 来启用 Morphia 日志记录:

<server xmlns="urn:jboss:domain:15.0">
  <profile>
    <subsystem xmlns="urn:jboss:domain:logging:8.0">
      <logger category="org.mongodb.morphia" use-parent-handlers="true">
        <level name="TRACE"/>
        <handlers>
          <handler name="FILE"/>
        </handlers>
      </logger>
    </subsystem>
  </profile>
</server>

Using Wildfly deployment, I managed to enable Morphia logging by adding the following to the stadalone.xml:

<server xmlns="urn:jboss:domain:15.0">
  <profile>
    <subsystem xmlns="urn:jboss:domain:logging:8.0">
      <logger category="org.mongodb.morphia" use-parent-handlers="true">
        <level name="TRACE"/>
        <handlers>
          <handler name="FILE"/>
        </handlers>
      </logger>
    </subsystem>
  </profile>
</server>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文