【问题标题】:Elasticsearch (Java) disable loggingElasticsearch (Java) 禁用日志记录
【发布时间】:2015-04-07 13:20:34
【问题描述】:

我正在尝试从 Java 中运行本地 Elasticsearch 实例,但它正在向我的控制台发送各种消息。这是我构建设置和创建节点的代码:

Settings settings = ImmutableSettings.settingsBuilder()
            .put("cluster.name", "localcluster")
            //Paths
            .put("path.data", "ESConsole/data")
            .put("path.logs", "ESConsole/logs")
            .put("path.work", "ESConsole/work")
            .put("path.plugins", "ESConsole/plugins")
            .put("path.conf", "ESConsole/config")
            //Make the node unreachable from the outside
            .put("discovery.zen.ping.multicast.enabled", false)
            .put("node.local", true)
            .put("http.enabled", false)
            .build();
this.node = NodeBuilder.nodeBuilder().settings(settings).node();

我尝试创建一个 logger.yml 和 log4j.properties 文件并将日志记录级别设置为“错误”(根据this question),但这似乎不起作用(除非我做错了什么)。 我可以在设置生成器中放入一个简单的设置(最好)还是我必须创建一个设置文件?

我在这里提出这个问题的原因是因为我能找到的只是那些对配置文件说了一些话的人,而我更愿意将所有内容都保存在代码中。如果这不可能,请告诉我 ;)

谢谢!

【问题讨论】:

  • 我现在所做的只是将 log4j 级别设置为“info”,这样至少它不那么冗长了。除此之外似乎没有什么好的解决方案。

标签: java elasticsearch log4j yaml


【解决方案1】:

我最终做的是:

    Settings settings = settingsBuilder()
            .put("http.enabled", false)
            .put("network.host", "127.0.0.1")
            .put("cluster.name", "my_cluster_name")
            .put("node.name", "my_node_name")
            .put("path.home", HOME.getAbsolutePath())
            .put("path.conf", CONFIG.getAbsolutePath())
            .put("path.logs", LOGS.getAbsolutePath())
            .build();

    // make sure ES' logging system knows where to find our custom logging.xml
    LogConfigurator.configure(settings);

    // startup a standalone node to use for tests
    return nodeBuilder()
            .settings(settings)
            .local(true)
            .loadConfigSettings(false)
            .node();

这里的关键是LogConfigurator.configure() 调用。请注意,我确实必须将自定义 logging.yml 文件复制到 path.logs 目录中,该目录只会禁用控制台记录器。

我怀疑如果设置包含logger.level = OFF,那么您根本不需要自定义logging.yml 文件,但是您的日志记录为零(这可能是您想要的)。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-03-06
  • 2018-07-17
  • 2011-06-22
  • 2015-04-21
  • 2015-02-01
  • 2012-09-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多