在哪里可以找到通过gremlin-javascript访问gremlin服务器的查询

时间:2016-05-19 04:53:30

标签: node.js titan gremlin gremlin-server

我正在使用nodejs的gremlin-javascript模块来查询titan数据库。一切都工作正常,但我想监视实际上击中gremlin服务器的内容以及我可以了解的有关该查询的任何其他内容。我已经检查了titan文件夹中的gremlin-server登录日志文件夹。我在这些日志中找不到任何有用的东西。在这方面的任何帮助都将非常有用。感谢

1 个答案:

答案 0 :(得分:2)

对于使用gremlin-javascript的客户端解决方案,目前没有快速简便的方法来登录发送到Gremlin Server的控制台传出查询或协议消息。

你可以:

  1. 实现自己的函数,该函数包含对您调用的Gremlin客户端方法(通常为client.execute())的调用,并记录参数。如果使用Node.js v6 +,这可能是ES2015 Proxy对象的一个​​很好的用例。这是最安全,非侵入性的方法。
  2. Monkeypatch client.prototype.messageStream方法和日志参数。从v2.3.2开始,无论您是client.execute()还是client.stream(),都会调用此低级别方法。这风险更大,更棘手。
  3. 快速而肮脏:编辑./node_modules/gremlin/lib/GremlinClient.js中的源代码,然后在第405行(prototype.messageStream定义)后添加:

    console.log('query:', script);
    console.log('params:', bindings);
    
  4. 目前有open issue about logging of ingoing messages,但也可以开发包含外发消息(带参数的查询,下至协议消息)。