如何将日志从Java程序(log4j2)索引到Elasticsearch

时间:2018-09-08 17:18:09

标签: java elasticsearch logging log4j2

如何将日志从log4j2直接索引到elasticsearch索引中?

Main.class:

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中。

1 个答案:

答案 0 :(得分:1)

您可以使用我的插件:https://github.com/rfoltyns/log4j2-elasticsearch。它完全满足您的需求。

请确保配置IndexTemplate并使用log4j2-* :(,2.10]避免使用https://github.com/rfoltyns/log4j2-elasticsearch/issues/9。我将尽快发布修复程序。