【Skywalking 10.2.0】(二)日志收集到Skywalking 平台

1、日志收集到Skywalking

1.1、引入依赖

<skywalking.version>9.4.0</skywalking.version>

<!--skywalking 日志依赖包-->
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm-toolkit-logback-1.x</artifactId>
    <version>${skywalking.version}</version>
</dependency>

在需要使用收集的服务添加依赖

1.2、修改logback.xml 文件

  • 这里官方提供了几种方式,控制台打印、grpc收集到skywalking,此处使用的是收集到skywalking

<!-- 上传skywalking 日志-->
<appender name="grpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
    <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
        <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
            <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
        </layout>
    </encoder>
</appender>

<!--系统操作日志-->
   <root level="info">
       <appender-ref ref="grpc-log" />
   </root>

如果是本地IDEA DEBUG启动会出现一个报错,不影响程序运行,如下图

如果单纯启动模式,就不会出现这个报错,且tid能够正常输出

1.3 配置好以后,监控界面如下

可以在不同的服务通过traceId 找到单次请求的d

😎完结撒花

<think>我们正在处理一个关于SpringBoot集成Skywalking收集接口请求日志的问题。根据用户的问题,我们需要提供实现教程。同时,根据系统指令,我们需要使用正确的LaTeX格式(行内公式用$...$,独立公式用$$...$$),使用中文回答,并生成相关问题。此外,我们还需要在引用的段落末尾添加引用标识。参考提供的引用内容:-引用[1]提到了引入POM依赖和修改日志配置。-引用[2]提到了启动时添加JVM参数,指定agent和服务名称等。用户需求:在SpringBoot项目中集成Skywalking实现接口请求日志收集。步骤应该包括:1.下载并启动Skywalking服务(服务端)。2.在SpringBoot项目中引入Skywalking客户端依赖。3.配置日志框架(如Logback)以输出Skywalking收集日志格式。4.在启动应用时添加JVM参数,指定SkywalkingAgent。然而,用户特别强调了“接口请求日志”,因此我们还需要注意如何配置以收集HTTP请求的日志。具体步骤:1.**准备Skywalking服务端**:下载Skywalking并启动(OAP服务和UI界面)。2.**在项目中引入依赖**:根据引用[1],需要添加`apm-toolkit-logback-1.x`依赖(假设项目使用Logback)。3.**修改日志配置文件**:在Logback的配置文件中添加Skywalking的appender,以便将日志发送到Skywalking。4.**配置Agent**:在启动应用时通过JVM参数指定Agent,如引用[2]所示。此外,为了收集接口请求日志SkywalkingAgent会自动收集HTTP请求的链路信息,但如果我们还需要将业务日志(如接口的入参、出参)收集Skywalking,则需要通过日志框架输出,并确保这些日志Skywalking的appender处理。因此,我们的回答将包括:-依赖配置-日志配置(Logback.xml配置)-Agent配置-验证步骤注意:由于用户要求收集“接口请求日志”,我们可能需要说明如何记录接口的请求和响应信息。这通常可以通过AOP或过滤器来实现,然后将这些日志通过日志框架输出(例如使用Logback),这样Skywalking就能收集到。但是,Skywalking本身已经能够自动收集请求的链路信息(如URL、响应时间、状态码等),而具体的请求参数和响应体可能需要我们自己记录。因此,在教程中,我们可以建议用户使用AOP来记录这些信息,并将其集成到Skywalking日志收集。因此,步骤可以调整为:1.部署Skywalking服务端2.SpringBoot项目引入依赖(包括Skywalking的agent和日志工具包)3.配置Logback,使用Skywalking提供的appender4.配置JVM参数启动Agent5.使用AOP记录接口的请求和响应日志(可选,但用户可能需要)下面我们按照这个思路来组织回答。</think>### Spring Boot集成Skywalking实现接口请求日志收集教程 在Spring Boot中集成Skywalking实现接口请求日志收集,主要通过Skywalking Agent自动采集HTTP请求数据,结合日志框架集成实现。以下是详细步骤: --- #### 1. **环境准备** - 下载[Skywalking APM](https://skywalking.apache.org/downloads/) - 启动Skywalking服务端: ```bash # 解压后启动 bin/startup.sh ``` #### 2. **项目依赖配置** 在`pom.xml`中添加日志工具包依赖: ```xml <dependency> <groupId>org.apache.skywalking</groupId> <artifactId>apm-toolkit-logback-1.x</artifactId> <version>9.0.0</version> </dependency> ``` [^1] #### 3. **日志配置** 在`logback-spring.xml`中添加Skywalking Appender: ```xml <configuration> <appender name="SKYWALKING" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender"> <encoder> <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> </encoder> </appender> <root level="INFO"> <appender-ref ref="SKYWALKING"/> </root> </configuration> ``` [^1] #### 4. **Agent配置** 启动应用时添加JVM参数: ```bash -javaagent:/path/to/skywalking-agent/skywalking-agent.jar -Dskywalking.agent.service_name=your-service-name -Dskywalking.collector.backend_service=127.0.0.1:11800 ``` [^2] #### 5. **接口日志增强(可选)** 使用`@Trace`注解标记需要追踪的方法: ```java import org.apache.skywalking.apm.toolkit.trace.Trace; @RestController public class DemoController { @Trace @GetMapping("/test") public String testEndpoint() { // 该方法调用将被记录 return "OK"; } } ``` #### 6. **验证日志收集** 1. 访问Spring Boot接口 2. 登录Skywalking UI(默认端口8080) 3. 在`Trace`或`Logs`模块查看接口请求日志: - 请求URL、响应状态码 - 方法执行耗时 - 关联的链路ID --- #### 关键配置说明 | 配置项 | 作用说明 | |--------------------------------|----------------------------------| | `agent.service_name` | 服务在Skywalking中的标识名称 | | `collector.backend_service` | Skywalking OAP服务地址 | | GRPCLogClientAppender | 通过gRPC协议发送日志到OAP | > **注意**:接口请求日志默认自动采集HTTP路径、响应状态码和耗时,如需记录请求参数,需通过AOP或过滤器手动添加日志[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值