尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
SpringBoot3项目集成Skywalking示例
windows部署Skywalking教程请看Windows11部署SkyWalking-CSDN博客一、添加依赖!-- SkyWalking Java Agent -- dependency groupIdorg.apache.skywalking/groupId artifactIdapm-toolkit-logback-1.x/artifactId version9.0.0/version /dependency二、修改日志文件配置将原来每个appender节点下的encoder节点注释改成如下skywalking自定义类的格式类org.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout!-- encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder charsetUTF-8-- !-- pattern${CONSOLE_LOG_PATTERN}/pattern-- !-- /encoder-- layout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} - %msg%n/pattern /layout修改完后的日志文件logback-spring.xml如下。?xml version1.0 encodingUTF-8? configuration scantrue scanPeriod60 seconds debugfalse springProperty scopecontext nameapplicationName sourcespring.application.name defaultValuegoods-service/ !-- 单个日志文件的最大尺寸 -- springProperty scopecontext namemaxFileSize sourcelogging.file.max-size defaultValue10MB/ !-- 日志保留时长 (天) -- springProperty scopecontext namemaxHistory sourcelogging.file.max-history defaultValue30/ !-- 日志文件路径 -- springProperty scopecontext namelogDir sourcelogging.path defaultValue./logs/ contextName${applicationName}/contextName !-- 彩色日志 -- !-- 彩色日志依赖的渲染类 -- conversionRule conversionWordclr converterClassorg.springframework.boot.logging.logback.ColorConverter/ conversionRule conversionWordwex converterClassorg.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter/ !-- 彩色日志格式 -- property nameCONSOLE_LOG_PATTERN value%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(%5p) %clr(${PID:- }) %clr(---){faint} %clr([%10t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n%wex/ property nameFILE_LOG_PATTERN value%d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${PID:- } --- [%t] %-40.40logger{39} : %m%n%wex/ !-- 控制台输出 -- appender nameSTDOUT classch.qos.logback.core.ConsoleAppender !-- encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder charsetUTF-8-- !-- pattern${CONSOLE_LOG_PATTERN}/pattern-- !-- /encoder-- layout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} - %msg%n/pattern /layout /appender !-- info日志 appender -- appender nameINFO classch.qos.logback.core.rolling.RollingFileAppender rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy !-- 按天回滚 daily -- fileNamePattern${logDir}/info-%d{yyyy-MM-dd}-%i.log/fileNamePattern !-- 日志最大的历史 180天 -- maxHistory${maxHistory}/maxHistory timeBasedFileNamingAndTriggeringPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedFNATP !-- maxFileSize:这是活动文件的大小默认值是10MB这里设置为20MB -- maxFileSize${maxFileSize}/maxFileSize /timeBasedFileNamingAndTriggeringPolicy /rollingPolicy !-- encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder charsetUTF-8-- !-- pattern${FILE_LOG_PATTERN}/pattern-- !-- /encoder-- layout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} - %msg%n/pattern /layout filter classch.qos.logback.classic.filter.LevelFilter !-- 只打印info日志 -- levelINFO/level onMatchACCEPT/onMatch onMismatchDENY/onMismatch /filter /appender !-- DEBUG日志 appender -- appender nameDEBUG classch.qos.logback.core.rolling.RollingFileAppender rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy !-- 按天回滚 daily -- fileNamePattern${logDir}/debug-%d{yyyy-MM-dd}-%i.log/fileNamePattern !-- 日志最大的历史 180天 -- maxHistory${maxHistory}/maxHistory timeBasedFileNamingAndTriggeringPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedFNATP !-- maxFileSize:这是活动文件的大小默认值是10MB这里设置为20MB -- maxFileSize${maxFileSize}/maxFileSize /timeBasedFileNamingAndTriggeringPolicy /rollingPolicy !-- encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder charsetUTF-8-- !-- pattern${FILE_LOG_PATTERN}/pattern-- !-- /encoder-- layout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} - %msg%n/pattern /layout filter classch.qos.logback.classic.filter.LevelFilter !-- 只打印DEBUG日志 -- levelDEBUG/level onMatchACCEPT/onMatch onMismatchDENY/onMismatch /filter /appender !-- WARN日志 appender -- appender nameWARN classch.qos.logback.core.rolling.RollingFileAppender rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy !-- 按天回滚 daily -- fileNamePattern${logDir}/warn-%d{yyyy-MM-dd}-%i.log/fileNamePattern !-- 日志最大的历史 180天 -- maxHistory${maxHistory}/maxHistory timeBasedFileNamingAndTriggeringPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedFNATP !-- maxFileSize:这是活动文件的大小默认值是10MB这里设置为20MB -- maxFileSize${maxFileSize}/maxFileSize /timeBasedFileNamingAndTriggeringPolicy /rollingPolicy !-- encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder charsetUTF-8-- !-- pattern${FILE_LOG_PATTERN}/pattern-- !-- /encoder-- layout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} - %msg%n/pattern /layout filter classch.qos.logback.classic.filter.LevelFilter !-- 只打印WARN日志 -- levelWARN/level onMatchACCEPT/onMatch onMismatchDENY/onMismatch /filter /appender !-- error 日志 appender -- appender nameERROR classch.qos.logback.core.rolling.RollingFileAppender rollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy !-- 按天回滚 daily -- fileNamePattern${logDir}/error-%d{yyyy-MM-dd}-%i.log/fileNamePattern !-- 日志最大的历史 180天 -- maxHistory${maxHistory}/maxHistory timeBasedFileNamingAndTriggeringPolicy classch.qos.logback.core.rolling.SizeAndTimeBasedFNATP !-- maxFileSize:这是活动文件的大小默认值是10MB这里设置为20MB -- maxFileSize${maxFileSize}/maxFileSize /timeBasedFileNamingAndTriggeringPolicy /rollingPolicy !-- encoder classch.qos.logback.classic.encoder.PatternLayoutEncoder charsetUTF-8-- !-- pattern${FILE_LOG_PATTERN}/pattern-- !-- /encoder-- layout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.TraceIdPatternLogbackLayout pattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%tid] [%thread] %-5level %logger{36} - %msg%n/pattern /layout filter classch.qos.logback.classic.filter.LevelFilter !-- 只打印错误日志 -- levelERROR/level onMatchACCEPT/onMatch onMismatchDENY/onMismatch /filter /appender !-- 开发环境日志输出到控制台 -- springProfile namedev !--控制台和日志文件输出级别-- root levelINFO appender-ref refSTDOUT/ /root /springProfile !-- 生产环境/测试环境日志输出到文件 -- springProfile nameprod|test root levelINFO appender-ref refINFO/ appender-ref refERROR/ !-- appender-ref refDEBUG/-- appender-ref refWARN/ appender-ref refSW_APPENDER/ /root /springProfile /configuration三、启动设置环境变量3.1、在启动时指定环境变量参数及值-javaagent:D:\tools\apache-skywalking-java-agent-9.0.0\skywalking-agent\skywalking-agent.jar -Dskywalking.agent.service_namegoods-service -Dskywalking.collector.backend_service127.0.0.1:11800 -Dskywalking.logging.levelINFO3.2、环境变量解释参数描述-javaagent:D:\tools\apache-skywalking-java-agent-9.0.0\skywalking-agent\skywalking-agent.jar指定启动探针jar包地址-Dskywalking.agent.service_namegoods-service指定skywalking里代理服务名称-Dskywalking.collector.backend_service127.0.0.1:11800指定skywalking收集器的服务IP与端口号-Dskywalking.logging.levelINFO指定日志级别学习下并模拟JavaAgent探针-CSDN博客文章摘要Javaagent是一种通过-javaagent参数在JVM启动时加载的代理工具能够在main方法执行前拦截类加载并修改字节码。实现步骤包括1创建包含Premain-Class的MANIFEST.MF文件2编写实现premain方法的代理类3使用ClassFileTransformer接口和Javassist等工具修改目标类。示例演示了如何统计方法耗时通过代理jar包在SpringBoot应用启动时植入监控代码最终在控制台输出各方法执行时间。https://blog.csdn.net/u010132847/article/details/162975662?spm1011.2415.3001.5331四、启动项目查看效果4.1、项目启动会优先初始化加载Skywalking文件然后出现如下字样INFO 2026-07-17 11:03:06.943 main SkyWalkingAgent : Skywalking agent begin to install transformer ...浏览器访问skywalking(之前端口没改默认是8080端口)地址http://localhost:8080,新开浏览器访问几次该项目下的web接口后再次查看该界面里的Trace面板看到被记录的请求及TraceId。项目日志里也出现了TIDTraceId。
RELATED

相关推荐

国产四足机器狗第一梯队TOP5解析

国产四足机器狗第一梯队TOP5解析

机器狗对我们来说已经不再陌生,从春晚舞台的集群舞蹈到亚运赛场的铁饼搬运,四足机器人正加速脱离"炫技"标签。当下国产机器狗第一梯队已形成宇树、云深处、越疆、蔚蓝科技、小米五强割据的格局,赛道从单一运动参数比拼,…

📅 2026/7/21 13:22:30
主打草本配方的露酒品牌,以温和口感打造男士日常养生酒

主打草本配方的露酒品牌,以温和口感打造男士日常养生酒

嘿,各位朋友!今天我想跟大家聊聊养生酒。现在养生酒品牌众多,我最近特别钟情于复盛公六味地黄酒。先说说它的原料。复盛公集团从源头把控品质,甄选地黄、山茱萸、山药、肉苁蓉、黄精、肉桂六味道地药材,坚守药食同源理…

📅 2026/7/25 2:29:03
专网信噪比是什么?东北山林盲区通信,信噪比优化实操方案

专网信噪比是什么?东北山林盲区通信,信噪比优化实操方案

很多东北运维人员调试对讲、优化基站信号,只看信号格数、通话有无杂音,却忽略了专网通信核心参数——信噪比。信噪比是区分有效人声与环境杂波的核心指标,也是深山林区、边境山谷通信盲区优化的关键参数。不同于平原开阔地带,东北…

📅 2026/8/6 7:50:06
MORE NEWS

更多资讯

📰

Python实现替换密码破解:频率分析与优化策略

1. 项目概述:Python实现替换密码破解替换密码是最基础的加密方式之一,早在凯撒时代就被用于军事通信。其核心原理是将明文中的每个字母按照固定规则替换为另一个字母。比如著名的凯撒密码就是将字母表平移3位(A→D,B→E...&#x…

📰

基于S7-1200 PLC的物料分拣控制系统设计与仿真实现

1. 项目概述与总体设计思路 1.1 这个设计到底要解决什么问题 刚拿到“基于西门子S7-1200 PLC的物料分拣控制系统设计”这个题目,很多人的第一反应是找图纸、找模板,但真正动手之后才会发现,这个题目的核心其实不是抄一套程序,而是…

📰

FastAPI构建高并发抽奖服务:从云服务器部署到防刷实战

1. 为什么选FastApi做抽奖服务:从框架选型说起先说结论:抽奖服务这种业务形态,用FastApi来做,是我目前用下来最顺手的选择,没有之一。很多人在选型的时候纠结一件事:我到底是用Spring Boot、Go还是Python系…

📰

破碎机振动超标诊断与治理:从频谱分析到弹簧隔振的完整实践

凌晨1点40分,中控室的电话只有一句话:“2号破碎机振动报警,现场表已经顶到12了。”我赶到现场时,测振仪上的数值停在12.6mm/s下不来,机座附近的地脚螺栓用扳手轻轻敲击,声音明显发闷。那台PCZ1615重型锤式破…

📰

推荐算法实战:行为日志驱动的用户购买预测与XGBoost调优

简介:阿里移动推荐算法竞赛完整工程包,面向备战推荐系统竞赛、毕业设计或课程项目的学习者,尤其适合人工智能、计算机科学与技术等专业的学生动手实践。压缩包包含118个文件,容量约636KB,文件构成兼顾数据、算法与工程…

📰

基于 Python 的宠物食品销售数据分析可视化系统的设计与实现

1. 引言随着宠物经济的快速发展,宠物食品市场规模持续扩大,消费者对宠物食品的品质、营养和品牌关注度不断提升。面对海量的销售数据,如何高效地完成数据采集、清洗、分析与可视化展示,成为企业制定营销策略、优化产品结构的重要基…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬