4

所以,这里是场景:

  • 我有 Neo4J 服务器在本地运行,其中包含一些数据
  • 我有一个网络应用程序使用spring-data-neo4j

以下代码基于示例代码Cineasts

public interface CrewRepository extends GraphRepository<Crew> {

  Iterable<Crew> findByNameLike(String name);

  @Query("start thinker=node({0}) match thinker-[:crews]-crews return crews")
  Set<Crew> findByThinker(Long thinkerId);

}

这里没有消息。问题是:查询findByNameLike不起作用,而查询findByThinker不起作用。

我已经多次修改了我的日志配置文件 - 最终版本是下面的版本 - 但是,无论我尝试什么,我都看不到任何查询被记录在我的日志文件或服务器上。

<logger name="org.neo4j">
  <level value="DEBUG" />
  <appender-ref ref="console" />
</logger>

<logger name="org.springframework.data.neo4j">
  <level value="DEBUG" />
  <appender-ref ref="console" />
</logger>

<root>
  <priority value="error" />
  <appender-ref ref="console" />
</root>

我想要的只是记录查询,以便我可以查看它是否是错误spring-data-neo4j或我是否遗漏了某些东西......我已经查看了这两个代码示例的文档,但找不到任何具体的内容。

有什么帮助吗?谢谢!

4

2 回答 2

6

您可以通过将以下行添加到 log4j.xml 来启用查询日志记录:

<logger name="org.springframework.data.neo4j.support.query">
    <level value="debug" />
</logger>
于 2012-11-08T20:29:08.557 回答
3

如果有人在这里寻找如何在通过 REST API 远程访问 Neo4j 服务器时记录查询,请使用

<logger name="org.springframework.data.neo4j.rest.SpringRestCypherQueryEngine">
    <level value="debug" />
</logger>

如果您使用 Spring Data Neo4j 并希望查看与您的 DAO 方法对应的派生查询,

<logger name="org.springframework.data.neo4j.repository.query.DerivedCypherRepositoryQuery">
    <level value="debug" />
</logger>
于 2013-08-23T07:49:56.037 回答