elasticsearch - log4j2到 Elasticsearch 配置

标签 elasticsearch log4j log4j2 elastic-stack

我正在尝试将log4j2配置为elasticsearch并遇到下一个问题:

ERROR No Elasticsearch client factory [JestHttp|ElasticsearchBulkProcessor] provided for AsyncBatchDelivery: clientObjectFactory



但我已经设置了属性JestHttp,因此,据我了解,它应该作为clientObjectFactory起作用。

有任何想法吗?

我的配置文件如下所示:
<Configuration status="INFO">
    <Appenders>
        <Elasticsearch name="elasticsearchAsyncBatch">
            <RollingIndexName indexName="log4j2" pattern="yyyy-MM-dd" />
            <AsyncBatchDelivery>
                <JestHttp serverUris="myhost:9200" />
            </AsyncBatchDelivery>
        </Elasticsearch>
    </Appenders>
    <Loggers>
        <Logger name="MyLogger" level="info" additivity="true">
            <AppenderRef ref="elasticsearchAsyncBatch" />
        </Logger>
    </Loggers>
</Configuration>

最佳答案

我是此插件的所有者。您只需要以下一种:

  • log4j2-elasticsearch-jest
  • log4j2-elasticsearch(x)-批量处理器

  • log4j2-elasticsearch-core是其中每一个的编译依赖项,因此无论如何都会到达那里。仅当您编写自己的核心类扩展时才必须指定它。

    关于elasticsearch - log4j2到 Elasticsearch 配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49822909/

    相关文章:

    使用 random_score 的 elasticsearch 会降低性能

    scala - elastic4s:反序列化搜索结果

    elasticsearch - AWS appync 查询解析器返回 null

    elasticsearch - Elasticsearch 1.5找不到插件管理器

    java - 在 JBoss 7 访问日志中指定毫秒

    java - Log4j 在本地主机上工作正常,但在 Jenkins 中,所有日志语句都打印在同一行上

    用于识别机器的 log4j 转换模式

    java - 使用 Log4j2 2.11 的微秒级打印分辨率

    asynchronous - 异步模式下的 Log4j2 在重负载下仍然阻塞在 java.util.concurrent.lock 上

    java - Log4j 每次都打印到控制台