当前位置: 首页 > news >正文

专门做库存处理的网站友情下载网站

专门做库存处理的网站,友情下载网站,海外推广引流,Wordpress支付时效【JAVA】SpringBoot skywalking 将接口的入参、出参、异常等信息上报到skywalking 链路追踪服务器上 1.下载SkyWalking APM https://skywalking.apache.org/downloads/ jdk8 不支持 SkyWalking APM 9.3.0以上版本#xff0c;所以这里我们下载 9.3.0版本 2.下载 Java Agent …【JAVA】SpringBoot skywalking 将接口的入参、出参、异常等信息上报到skywalking 链路追踪服务器上 1.下载SkyWalking APM https://skywalking.apache.org/downloads/ jdk8 不支持 SkyWalking APM 9.3.0以上版本所以这里我们下载 9.3.0版本 2.下载 Java Agent https://skywalking.apache.org/downloads/ Java Agent 我们现在最新版本的 9.2.0 3.启动 SkyWalking APM 服务 3.1 windows环境 3.1.1 解压apache-skywalking-apm-9.3.0.tar.gz 3.1.2 进入解压后的bin目录点击 startup.bat 启动SkyWalking APM服务 3.1.3 访问 http://127.0.0.1:8080/ 如果访问出现空白页面等待1分钟左右 3.2 linux环境 3.2.1 上传apache-skywalking-apm-9.3.0.tar.gz到服务器并解压 tar -zxvf apache-skywalking-apm-9.3.0.tar.gz3.2.2 开放端口 80801180012800 firewall-cmd --zonepublic --add-port8080/tcp --permanent firewall-cmd --zonepublic --add-port11800/tcp --permanent firewall-cmd --zonepublic --add-port12800/tcp --permanent## 开放或者关闭需要刷新防火墙规则 firewall-cmd --reload3.2.3 启动SkyWalking APM进入解压后的bin目录 sh startup.sh3.2.4 访问 http://IP:8080/ 如果访问出现空白页面等待1分钟左右 4.SpringBoot项目中引入以下依赖 !-- lombok ↓ --dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependency!-- lombok ↑ --!-- hutool ↓ --dependencygroupIdcn.hutool/groupIdartifactIdhutool-all/artifactIdversion5.8.28/version/dependency!-- hutool ↑ --!-- aspectjrt 切面编程 ↓ --dependencygroupIdorg.aspectj/groupIdartifactIdaspectjrt/artifactId/dependencydependencygroupIdorg.aspectj/groupIdartifactIdaspectjweaver/artifactId/dependency!-- aspectjrt 切面编程 ↑ --!-- skywalking-trace skyWalking监控相关 ↓ --dependencygroupIdorg.apache.skywalking/groupIdartifactIdapm-toolkit-trace/artifactIdversion9.1.0/version/dependency!-- skywalking-trace ↑ --!-- skywalking-logback skyWalking中的traceId记录到logback日志 ↓ --dependencygroupIdorg.apache.skywalking/groupIdartifactIdapm-toolkit-logback-1.x/artifactIdversion9.1.0/version/dependency!-- skywalking-logback ↑ --4.1 resources文件夹下创建 logback-spring.xml文件 ?xml version1.0 encodingUTF-8? configuration!-- 读取application.yml中的日志配置 --springProperty scopecontext nameLOG_PATH sourcelogging.file.path/springProperty scopecontext nameLOG_NAME sourcelogging.file.log-name/springProperty scopecontext nameMAX_HISTORY sourcelogging.file.days/!-- 定义控制台输出格式 --appender nameCONSOLE classch.qos.logback.core.ConsoleAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayoutpattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{50} - %msg%n/pattern/layout/encoder/appender!--skywalking grpc 日志收集--appender nameSKYWALKING classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppenderencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayoutPattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{50} -%msg%n/Pattern/layout/encoder/appender!-- 定义每天生成一个日志文件并归档生成压缩包 --appender nameFILE classch.qos.logback.core.rolling.RollingFileAppenderfile./${LOG_NAME}.log/filerollingPolicy classch.qos.logback.core.rolling.TimeBasedRollingPolicy!-- 每天生成一个日志文件 --fileNamePattern${LOG_PATH}/${LOG_NAME}.%d{yyyy-MM-dd}.log/fileNamePattern!-- 最多保留指定天数的日志文件 --maxHistory${MAX_HISTORY}/maxHistory/rollingPolicyencoder classch.qos.logback.core.encoder.LayoutWrappingEncoderlayout classorg.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayoutPattern%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{50} -%msg%n/Pattern/layout/encoder/appender!-- 日志级别设置 --root levelINFOappender-ref refCONSOLE/appender-ref refSKYWALKING/appender-ref refFILE//root /configuration 4.2 application.yml 文件中增加 # 日志配置 logging:file:# 日志生成的目录path: ./log# 日志文件名称log-name: log# 日志文件保留天数days: 3level:ROOT: info# com.xhs 包名称 com.xhs: info4.2 定义 接口日志切面 package com.xhs.aspect;import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson2.JSON; import lombok.extern.slf4j.Slf4j; import org.apache.skywalking.apm.toolkit.trace.ActiveSpan; import org.apache.skywalking.apm.toolkit.trace.TraceContext; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils;import javax.servlet.ServletRequest;/*** desc: 接口日志切面目的是将接口的入参、出参、异常等信息上报到SkyWalking链路追踪服务器上以便我们进行日志分析* projectName: spring-boot-skywalking* author: xhs* date: 2024-06-17 017 10:24* version: JDK 1.8*/Slf4j Aspect Component public class ControllerLogAspect {public static final String BIG_STR_SUB_PATTERN (:s*\[^,\:]{8192,}?\);/*** API的切点,拦截所有controller*/Pointcut(execution(public * com.xhs.controller.*.*(..)))public void apiPointcut() {}/*** 在方法执行前进行参数判断、在方法执行后记录日志** param joinPoint 入参*/Around(apiPointcut())public Object executeFaceAspect(ProceedingJoinPoint joinPoint) throws Throwable {Object returnObj null;Object[] parameters joinPoint.getArgs();try {returnObj joinPoint.proceed();} catch (Exception e) {log.error(SkyWalking aspect catch exception {}, TraceContext.traceId(), e);ActiveSpan.tag(异常, ExceptionUtil.getRootCauseMessage(e));throw e;} finally {if (parameters ! null parameters.length 0) {for (int i 0; i parameters.length; i) {try {Object nowObj parameters[i];if (nowObj instanceof ServletRequest) {continue;}ActiveSpan.tag(入参 i, replaceLog(JSON.toJSONString(nowObj)));} catch (Exception ignore) {}}}if (returnObj ! null) {try {ActiveSpan.tag(出参, replaceLog(JSON.toJSONString(returnObj)));} catch (Exception ignore) {}}}return returnObj;}/** 格式化日志** param logStr 入参* return String*/public static String replaceLog(String logStr) {if (StringUtils.hasLength(logStr)) {return logStr.replaceAll(BIG_STR_SUB_PATTERN, :\*\);}return StrUtil.EMPTY;} } 4.3 创建测试接口并添加jvm参数启动 # D:\soft-ware\skywalking-agent\skywalking-agent.jar 解压apache-skywalking-java-agent-9.2.0.tgz 后的skywalking-agent.jar jar包的地址 -javaagent:D:\soft-ware\skywalking-agent\skywalking-agent.jar # xhs1.0 skywalking 服务的 service groups 名称 # spring-boot-skywalkingservice names 名称 -Dskywalking.agent.service_namexhs1.0::spring-boot-skywalking # 127.0.0.1 skywalking apm 服务地址 -Dskywalking.collector.backend_service127.0.0.1:11800linux环境下需要把 apache-skywalking-java-agent-9.2.0.tgz上传到服务器解压然后在启动命令后面加上上面的三个参数 #!/bin/bash# jar包名称 JAR_FILEspring-boot-skywalking.jar # pid 名称 PID_FILEspring-boot-skywalking.pid # skywalking-agent jar包地址 SKYWALKING_AGENT_URL/root/skywalking-agent/skywalking-agent.jar # skywalking SERVICE_NAME SKYWALKING_SERVICE_NAMExhs1.0::spring-boot-skywalking # skywalking SERVICE_NAME SKYWALKING_BACKEND_SERVICE127.0.0.1:11800start() {if [ -f $PID_FILE ]; thenecho 应用程序已在运行,PID: $(cat $PID_FILE) ..........else# 后台启动jar包并将启动日志输出到log.log文件中nohup java -javaagent:$SKYWALKING_AGENT_URL -Dskywalking.agent.service_name$SKYWALKING_SERVICE_NAME -Dskywalking.collector.backend_service$SKYWALKING_BACKEND_SERVICE -jar -Dloader.path.,3rd-li $JAR_FILE /dev/null 21 echo $! $PID_FILEecho 应用程序已成功启动,PID: $(cat $PID_FILE) ..........fi }stop() {if [ -f $PID_FILE ]; thenkill -9 $(cat $PID_FILE)rm $PID_FILEecho 应用程序已成功停止..........elseecho 应用程序未运行..........fi }restart() {echo 正在重启..........stopstartecho 重启成功.......... }case $1 instart)start;;stop)stop;;restart)restart;;*)echo 使用: $0 {start|stop|restart} 命令exit 1;; esac 4.3 访问创建的测试接口刷新浏览器查看 SkyWalking APM 服务 4.3.1 SpringBoot 日志 4.3.2 SkyWalking APM 服务查看接口调用的情况及日志信息 5. 项目源码地址 https://gitee.com/xhs101/spring-boot-skywalking.git
http://www.w-s-a.com/news/963142/

相关文章:

  • 企业网站建站那种好商城类网站怎么优化
  • 手机微网站怎么制作的网上找设计师
  • 网站建设包括哪些方面学校网站 建设
  • 贵阳网站优化公司建筑设计师用什么软件
  • 网站建设的小说静态网页模板免费网站
  • 芜湖建设厅官方网站wordpress自动设置缩略图
  • 推荐网站网页湛江网站建设哪家优惠多
  • 传奇网站免费空间网店装修店面
  • 网站改版 重新收录湖南建筑信息一体化管理平台
  • 可以做直播卖产品的网站陕西省建设银行网站
  • 搭建网站的英语seo优化专员招聘
  • 做网站深紫色搭配什么颜色网站的在线支付怎么做
  • 中国最大网站建设公司长沙专业做网站公司哪家好
  • 金峰辉网站建设菏泽财富中心网站建设
  • 怎么做网站站长视频企业网站开发意义
  • 网站创建多少钱商标自助查询系统官网
  • 免费做App和网站的平台广州做网站推广的公司
  • 衡水做网站推广的公司wordpress相册滑动
  • 不用域名也可以做网站公司网站建设制作难么
  • 学做网站培训机构wordpress 图片拉伸
  • 成都捕鱼网站建设wordpress自定义文章类别
  • wordpress网站怎么加速湖北网站建设企业
  • 迁安做网站中的cms开发南平网站建设公司
  • 肥西县住房和城乡建设局网站代驾系统定制开发
  • 网站建设明细报价表 服务器qq是哪家公司的产品
  • html链接网站模板wordpress怎么调用简码
  • 网站域名怎么查简述网站推广的五要素
  • 咸宁网站设计公司app安装下载
  • 丝网外贸做哪些网站最优的赣州网站建设
  • 如何做网站不被查网站开发工程师岗位说明书