如何将查询语句记录到Neo4j服务器,可以吗?



我想将整个查询语句记录到 Neo4j 服务器,但是,在搜索 SO 和文档后,我没有成功。我发现了这个SO问题,Rest查询记录在Neo4j服务器上,但是更改这些配置设置并没有达到我所希望的。我在Golang工作,并使用Go-CQ库与Neo4j版本2.1.5中的REST API进行通信。

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

以下是关于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>%fullRequestnn%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%fullRequestnResponse: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":[]}

最新更新