log4j2到弹性搜索配置

时间:2018-04-13 18:11:43

标签: elasticsearch log4j log4j2 elastic-stack

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

  

错误没有Elasticsearch客户端工厂   [JestHttp | ElasticsearchBulkProcessor]为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>

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:0)

看起来我不仅需要log4j2-elasticsearch-core依赖,还需要log4j2-elasticsearch-jest。

所以,只需将下一个代码添加到pom:

<dependency>
    <groupId>org.appenders.log4j</groupId>
    <artifactId>log4j2-elasticsearch-jest</artifactId>
    <version>1.1.1</version>
</dependency>

也许这会帮助别人。