我正在尝试将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>
答案 0 :(得分:3)
我是此插件的所有者。您只需要以下一项:
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>
也许这会帮助别人。