使用Graylog记录Spring Boot微服务

时间:2018-12-07 06:30:39

标签: spring-boot graylog2

我想使用Graylog / RabbitMQ来记录我的spring boot微服务。根据我的理解,我必须将日志发送到RabbitMQ,并将其与Graylog集成。我想知道工作流程及其实现方式,例如如何将日志发送到RabbitMQ,我是否需要使用其他任何日志记录框架。

1 个答案:

答案 0 :(得分:0)

您可以使用Logback附加程序从spring-boot应用程序发送日志。将以下依赖项添加到您的pom.xml

<dependency>
    <groupId>de.siegmar</groupId>
    <artifactId>logback-gelf</artifactId>
    <version>1.1.0</version>
</dependency>

然后,您需要在类路径中添加一个注销配置文件。

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/base.xml" />
    <appender name="GELF" class="de.siegmar.logbackgelf.GelfUdpAppender">
        <graylogHost>localhost</graylogHost>
        <graylogPort>12201</graylogPort>
        <maxChunkSize>508</maxChunkSize>
        <useCompression>true</useCompression>
        <layout class="de.siegmar.logbackgelf.GelfLayout">
            <originHost>localhost</originHost>
            <includeRawMessage>false</includeRawMessage>
            <includeMarker>true</includeMarker>
            <includeMdcData>true</includeMdcData>
            <includeCallerData>false</includeCallerData>
            <includeRootCauseData>false</includeRootCauseData>
            <includeLevelName>false</includeLevelName>
            <shortPatternLayout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%m%nopex</pattern>
            </shortPatternLayout>
            <fullPatternLayout class="ch.qos.logback.classic.PatternLayout">
                <pattern>%m</pattern>
            </fullPatternLayout>
            <staticField>app_name:backend</staticField>
            <staticField>os_arch:${os.arch}</staticField>
            <staticField>os_name:${os.name}</staticField>
            <staticField>os_version:${os.version}</staticField>
        </layout>
    </appender>

    <root level="debug">
        <appender-ref ref="GELF" />
        <appender-ref ref="CONSOLE" />
    </root>
</configuration>

有关更多信息:logback-gelf