Как я могу индексировать журналы непосредственно из log4j2 в индекс elasticsearch?
Основной класс:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class Main {
private static final Logger logger = LogManager.getLogger(Main.class);
public static void main(String... args) {
logger.info("This is an info message.");
logger.error("This is an error message");
}
}
log4j2.xml:
<?xml version = "1.0" encoding = "UTF-8"?>
<Configuration status = "warn">
<Appenders>
<Console name = "STDOUT" target = "SYSTEM_OUT">
<PatternLayout pattern = "%m%n"/>
</Console>
</Appenders>
<Loggers>
<Root level = "trace">
<AppenderRef ref = "STDOUT" level = "trace"/>
</Root>
</Loggers>
</Configuration>
Я хочу знать, есть ли способ вставлять журналы непосредственно в elasticsearch, добавляя зависимости и дополнения в средство ведения журнала.
Вы можете использовать мой плагин: https://github.com/rfoltyns/log4j2-elasticsearch. Он делает именно то, что вам нужно.
Обязательно настройте IndexTemplate
и используйте log4j2 - * :(, 2.10], чтобы избежать https://github.com/rfoltyns/log4j2-elasticsearch/issues/9. Я скоро выпущу исправление для этого.
На данный момент вам не нужно использовать инструменты грузоотправителя, такие как fluentd, logstash и т. д.