如何将查询语句记录到Neo4j服务器,是否可能?

时间:2014-12-29 20:26:01

标签: neo4j

我想将整个查询语句记录到Neo4j服务器,但搜索SO&我没有成功的文件。我发现了这个问题,Rest Queries Logged on Neo4j Server,但更改这些配置设置并没有达到我所希望的水平。我在Golang& amp;使用Go-CQ库与Neo4j版本2.1.5中的REST API进行通信。

我正在寻找的是正在执行的实际查询,理想情况下也会传递参数。是否可以记录此信息?非常感谢任何帮助,谢谢!

1 个答案:

答案 0 :(得分:10)

以下是http记录,其中还包括查询+参数+结果。 它不适用于仅用于调试和测试的生产设置。

这应该从2.1.6开始,参见:https://github.com/neo4j/neo4j/pull/3399

目前通过设置:

启用此功能
 org.neo4j.server.http.unsafe.content_log.enabled=true

除了设置:

 org.neo4j.server.http.log.enabled=true

conf/neo4j-server.properties中,并通过扩充模式(conf/neo4j-http-logging.xml)来输出完整的请求和响应:

 <pattern>%fullRequest\n\n%fullResponse</pattern>

conf/neo4j-http-logging.xml

中的完整部分
<configuration>
  <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>data/log/http.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>data/log/http.%d{yyyy-MM-dd_HH}.log</fileNamePattern>
      <maxHistory>30</maxHistory>
    </rollingPolicy>

    <encoder>
      <!-- Note the deliberate misspelling of "referer" in accordance with RFC1616 -->
      <pattern>%h %l %user [%t{dd/MMM/yyyy:HH:mm:ss Z}] "%r" %s %b "%i{Referer}" "%i{User-Agent}" \nRequest:\n%fullRequest\nResponse:\n%fullResponse</pattern>
    </encoder>
  </appender>

  <appender-ref ref="FILE"/>
</configuration>

这将导致data/log/http.log文件,其内容如下:

127.0.0.1 - - [04/Jan/2015:11:23:50 +0100] "POST /db/data/transaction/commit HTTP/1.1" 200 372 "http://localhost:7474/browser/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36" 
Request:
POST /db/data/transaction/commit HTTP/1.1
Origin: http://localhost:7474
X-stream: true
Cookie: SQLiteManager_currentLangue=4; __jrDevToolbarSessionId=0x1.b6e143f2c334p-3; JSESSIONID=1AFCE7DCF2D5D7134E933871EBF88252; OSESSIONID=OS1412075842834-2614241454738785158; connect.sid=s%3AkRY6%2B4RyW%2FC2ZUMjfIVqtRRo.shdI5G0zTKSq%2BzKevgXzLEdHnwjUDYP1JFlOhupRf2I; _ga=GA1.1.149316633.1397859613; _mkto_trk=id:773-GON-065&token:_mch-localhost-1384123755719-53900; undefined=0; __atuvc=0%7C47%2C0%7C48%2C1%7C49%2C5%7C50%2C13%7C51
Accept: application/json, text/plain, */*
Connection: keep-alive
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36
Referer: http://localhost:7474/browser/
Host: localhost:7474
DNT: 1
Accept-Encoding: gzip, deflate
Accept-Language: en-US,en;q=0.8,de-DE;q=0.6,de;q=0.4
Content-Length: 115
Content-Type: application/json;charset=UTF-8

{"statements":[{"statement":"match (n) return count(*)","resultDataContents":["row","graph"],"includeStats":true}]}
Response:
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json

{"results":[{"columns":["count(*)"],"data":[{"row":[0],"graph":{"nodes":[],"relationships":[]}}],"stats":{"contains_updates":false,"nodes_created":0,"nodes_deleted":0,"properties_set":0,"relationships_created":0,"relationship_deleted":0,"labels_added":0,"labels_removed":0,"indexes_added":0,"indexes_removed":0,"constraints_added":0,"constraints_removed":0}}],"errors":[]}