我正在使用nodejs的gremlin-javascript模块来查询titan数据库。一切都工作正常,但我想监视实际上击中gremlin服务器的内容以及我可以了解的有关该查询的任何其他内容。我已经检查了titan文件夹中的gremlin-server登录日志文件夹。我在这些日志中找不到任何有用的东西。在这方面的任何帮助都将非常有用。感谢
答案 0 :(得分:2)
对于使用gremlin-javascript的客户端解决方案,目前没有快速简便的方法来登录发送到Gremlin Server的控制台传出查询或协议消息。
你可以:
client.execute()
)的调用,并记录参数。如果使用Node.js v6 +,这可能是ES2015 Proxy
对象的一个很好的用例。这是最安全,非侵入性的方法。client.prototype.messageStream
方法和日志参数。从v2.3.2开始,无论您是client.execute()
还是client.stream()
,都会调用此低级别方法。这风险更大,更棘手。快速而肮脏:编辑./node_modules/gremlin/lib/GremlinClient.js
中的源代码,然后在第405行(prototype.messageStream
定义)后添加:
console.log('query:', script);
console.log('params:', bindings);
目前有open issue about logging of ingoing messages,但也可以开发包含外发消息(带参数的查询,下至协议消息)。