Elasticsearch:在独立节点客户端上启用调试日志记录

时间:2014-11-25 15:20:43

标签: elasticsearch

有人能指出如何使用Node客户端在独立客户端上启用调试级日志记录以进行发现吗?我有以下代码,尝试加入单节点远程集群。发现在30秒后超时(但传输工作正常,并且在master = false的同一主机上启动引导的ES节点,data = false完美地工作)。

val settings = ImmutableSettings.settingsBuilder().
put("discovery.zen.ping.multicast.enabled", false).
put("node.data","false").
put("node.master","false").
put("discovery.zen.ping.unicast.hosts ", "myeshost").
build

val node = nodeBuilder().
loadConfigSettings(false).
settings(settings).
client(true).
node.
start

但这只会导致:

...
[run-main-0] INFO org.elasticsearch.node - [Hebe] starting ...
[run-main-0] INFO org.elasticsearch.transport - [Hebe] bound_address {inet[/0.0.0.0:9301]},publish_address {inet[/10.60.35.37:9301]}
[run-main-0] WARN org.elasticsearch.discovery - [Hebe] waited for 30s and no initial state was set by the discovery
...

我发现这个doc article正在讨论对logger.discovery值的动态更改,但这可能不适用于独立客户端,因为在HTTP侦听器开始甚至收到更新请求之前发生了很好的事情。添加' put(" logger.discovery"," DEBUG")'上面的设置构建器也没有帮助。

真心感谢任何指示。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用以下命令直接访问Log4J记录器工厂:

import org.elasticsearch.common.logging.log4j;

// add this before creating your client node.
Log4jESLoggerFactory.getLogger("discovery").setLevel("DEBUG");