How to register a request to the Neo4j server, is this possible?

I would like to write the entire request instruction to the Neo4j server, however, after searching for SO and documents, I was unsuccessful. I found this SO question, Vacation requests registered on the Neo4j server , but changing these configuration settings did not achieve what I was hoping for. I work in the Golang and using the Go-CQ library to communicate with the REST API in version 2.1.5 of Neo4j.

What I'm looking for is an actual request that is being executed, ideally with passed parameters. Is it possible to register this information? Any help would be greatly appreciated, thanks!

+5
source share
1 answer

The following is the HTTP protocol, which also includes + params + results requests. It is not intended for production settings, just debugging and testing.

This should work from 2.1.6, see https://github.com/neo4j/neo4j/pull/3399

This is currently enabled by installing:

org.neo4j.server.http.unsafe.content_log.enabled=true 

except setting:

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

In conf/neo4j-server.properties , as well as by increasing the template ( conf/neo4j-http-logging.xml ) to display complete requests and responses:

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

Full section in 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> 

This will lead to the creation of a data/log/http.log with the following contents:

 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":[]} 
+10
source

Source: https://habr.com/ru/post/1210068/


All Articles