SkyWalking 集成日志框架

logback官方配置

引入依赖

XML 复制代码
<!‐‐ apm‐toolkit‐logback‐1.x ‐‐>
<dependency>
    <groupId>org.apache.skywalking</groupId>
    <artifactId>apm‐toolkit‐logback‐1.x</artifactId>
    <version>8.5.0</version>
</dependency>

添加 logback-spring.xml

XML 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!-- 引入 Spring Boot 默认的 logback XML 配置文件  -->
    <include resource="org/springframework/boot/logging/logback/defaults.xml"/>


    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- 日志的格式化 -->
        <encoder  class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout">
                <Pattern>-%clr(%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} [%tid] %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}</Pattern>
            </layout>
        </encoder>

    </appender>

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

    <!-- 设置 Appender -->
    <root level="INFO">
        <appender-ref ref="console"/>
        <appender-ref ref="grpc-log"/>
    </root>

</configuration>
  • 打开agent/config/agent.config配置文件,添加如下配置信息:
XML 复制代码
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:192.168.3.100}
plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}
plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760}
plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}

以上配置是默认配置信息, agent与oap在本地的可以不配

配置名解释默认值

|---------------------------------------------------|-------------------------|-----------|
| 配置名 | 解释 | 默认值 |
| plugin.toolkit.log.transmit_formatted | 是否以格式化或未格式化的格式传输记录的数据 | true |
| plugin.toolkit.log.grpc.reporter.server_host | 指定要向其报告日志数据的grpc服务器的主机 | 127.0.0.1 |
| plugin.toolkit.log.grpc.reporter.server_port | 指定要向其报告日志数据的grpc服务器的端口 | 11800 |
| plugin.toolkit.log.grpc.reporter.max_message_size | 指定grpc客户端要报告的日志数据的最大大小 | 10485760 |
| plugin.toolkit.log.grpc.reporter.upstream_timeout | 客户端向上游发送数据时将超时多长时间。单位是秒 | 30 |

日志效果

相关推荐
廋到被风吹走5 天前
【Spring】Spring Cloud 链路追踪:SkyWalking/Pinpoint 字节码增强与 TraceId 传递机制
spring·spring cloud·skywalking
6***83057 天前
SpringBoot教程(三十二) SpringBoot集成Skywalking链路跟踪
spring boot·后端·skywalking
爱上纯净的蓝天10 天前
微服务链路追踪实战:用SkyWalking构建全链路监控体系
微服务·架构·skywalking
虫小宝10 天前
京东返利app分布式追踪系统:基于SkyWalking的全链路问题定位
分布式·skywalking
weihubeats12 天前
当SkyWalking遇上自研Trace:链路断开的核心原因与终极兼容方案
skywalking
HappRobot20 天前
OpenTelemetry和Jaeger、 SkyWalking的关系
linux·网络·skywalking
HappRobot20 天前
OpenTelemetry(OTel)和 SkyWalking 组合实现可视化监控
skywalking
shepherd1261 个月前
从入门到实践:玩转分布式链路追踪利器SkyWalking
java·分布式·后端·skywalking
阿拉斯攀登1 个月前
SkyWalking使用:Spring Boot场景
spring boot·后端·skywalking
阿拉斯攀登1 个月前
SkyWalking使用:Spring Cloud Alibaba场景
skywalking