将log4j2转换为ElasticSearch配置

gv8xihay  于 2022-10-06  发布在  ElasticSearch
关注(0)|答案(2)|浏览(190)

我正在尝试将log4j2配置为ElasticSearch,但遇到了下一个问题:
错误:未为AsyncBatchDelivery提供Elasticearch客户端工厂[JestHttp|Elasticearch BulkProcessor]:客户端对象工厂

但我已经设置了JestHttp属性,因此,根据我的理解,它应该作为ClientObtFactory工作。

有什么主意吗?

我的配置文件如下所示:

<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>
bxjv4tth

bxjv4tth1#

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

  • log4j2-ElasticSearch-jest
  • log4j2-ElasticSearch-HC
  • log4j2-ElasticSearch(X)-批量处理器

Log4j2-ElasticSearch-core是它们每一个的编译依赖项,所以无论如何它都会到达那里。只有在编写自己的核心类扩展时,才需要指定它。

ycl3bljg

ycl3bljg2#

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

因此,只需将下一段代码添加到POM:

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

也许这会对其他人有所帮助。

相关问题