当前位置: 首页 > 知识库问答 >
问题:

使用Graylog进行Spring启动微服务记录

顾炎彬
2023-03-14

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

共有1个答案

柴茂材
2023-03-14

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

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

然后,您需要向类路径添加一个logback配置文件。

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

 类似资料:
  • 我使用的是,我想配置将不同的内容异步记录到不同的日志文件中。 我创建了log4j2文件,但是仍然使用Spring Boot默认日志记录。如何切换日志记录?

  • 我想创建一个基于微服务的 spring boot 项目。我使用 Zuul 实现了一个网关,现在不确定如何使用什么来实现微服务之间的安全性。我需要微服务在用户收到请求时了解用户的权限,它们也可能相互通信,而不仅仅是网关。我正在使用 Spring boot 2.5.7 ,但似乎 oauth2 已被弃用,我也阅读了有关 spring 授权服务器的信息,但它是实验性的。我应该使用什么来确保安全性,如果您有

  • 我刚刚为我们的微服务环境在前端创建了简单的Zuul代理,但现在我想将所有条目记录到通过代理的日志文件中。 做任何我需要做的事情。

  • 在我的项目中,我们使用的是最新版本的 Spring-Cloud-LoadBalancer、spring-cloud网关和Resilience4J。 JDK 1.8版 IDE-Eclipse Oxygen。2 一切看起来都很好,但应用程序仍然没有运行...

  • 我有一个微服务-A,它从另一个微服务-B获得令牌作为标头。现在我想在微服务-A中实现swagger2。问题是每个请求都流经微服务-B。因此swagger-ui在本地as中引发错误 它不能获得微服务-B试图获取的那些报头参数。