Scala 如何记录查询?

Scala 如何记录查询?,scala,playframework,logback,salat,Scala,Playframework,Logback,Salat,我在游戏中使用萨拉特图书馆!用于从MongoDB查询数据的框架。我有一些疑问。因此,我想记录(在游戏中使用logback!)以查看salat生成的实际查询是如何进行的。我通过将MongoDBObject转换为JSON,然后在游戏中使用Logger.debug记录来解决这个问题。所以,看起来是这样的: Logger.debug(com.mongodb.util.JSON.serialize([MongoDBObject here…])) Salat基于MongoDB Java驱动程序,因此您只需打

我在游戏中使用萨拉特图书馆!用于从MongoDB查询数据的框架。我有一些疑问。因此,我想记录(在游戏中使用logback!)以查看salat生成的实际查询是如何进行的。

我通过将MongoDBObject转换为JSON,然后在游戏中使用Logger.debug记录来解决这个问题。所以,看起来是这样的:

Logger.debug(com.mongodb.util.JSON.serialize([MongoDBObject here…]))


Salat基于MongoDB Java驱动程序,因此您只需打开驱动程序的调试级别。以下是如何:


缺点是格式与您在Mongo shell中执行的格式略有不同。

将以下行复制/粘贴到您的
应用程序.conf

logger.root=DEBUG
logger.play=DEBUG
logger.application=DEBUG

这似乎是playframework本身的日志记录级别的配置。它不适用于mongodb或salat。我使用logger.com.mongodb=DEBUG确实显示了一些信息,但它们不是我想要的查询。我使用它从Hibernate或JOOQ将查询记录到控制台。例如,您需要检查正在运行的日志记录配置。Java Mongo驱动程序将登录到您的默认记录器,该记录器可能由Play设置。该记录器将根据其配置过滤内容。请提供logback.xml或您所拥有的+application.conf日志相关设置以及任何其他影响日志记录的设置。检查日志记录配置设置:您可以设置
System.setProperty(“DEBUG.MONGO”,“true”)在代码中或通过带-D标志的java cmd args执行:
java-DDEBUG.MONGO=true
。在代码中检查您是否也正确设置了该属性。