2021 年 10 月 - 9 文章

使用sed去除maven项目中xml文件中的注释-支持单行&多行处理 有更新!

  |   0 评论   |   1,960 浏览

场景:
在做一些自动化的脚本处理. 现在要提取Maven工程中的pom.xml文件中的引用jar包的版本定义.
如:

<properties>
        <leo.pdf.version>1.0.2</leo.pdf.version>
</properties>

此时需要准确为别标签 properties内部的内容. 同时还要对里面可能存在的注释进行识别. 以便进行区分过滤.最终得到一个真正的版本定义.
可能遇到的问题:

  • 被注释掉的内容
<!-- <leo.pdf.version>1.0.2</leo.pdf.version> -->
  • 正文部分后面包含注释内容
<leo.pdf.version>1.0.2</leo.pdf.version><!--  跟在右边的注释-->
  • 多行注释
<leo.pdf.version>1.0.2</leo.pdf.version>
<!--  第一行
        第二行
跟在右边的注释
-->
  • 行内多注释注释
<leo.pdf.version>1.0.2</leo.pdf.version><!--  第一个注释 -->  <leo.auth.version>1.0.0</leo.auth.version><!--  第二个注释 -->

虽然这些问题可以规范大家的编码规则 .但是对于一个写自动化处理脚本来说,还是要尽可能的兼容所有的场景才是.

Skywalking: print traceid to log / get traceid (怎样在业务代码中主动获取TraceID) 有更新!

  |   0 评论   |   5,031 浏览

有的时候你的业务系统会对外提供一些服务. 比如HTTP服务. 这样使用方可能是我们C端用户,也有可能是我们的QA同学. 特别是在反馈问题的时候我们希望能够有一个统一的唯一标识符能够提供给用户. 让用户在反馈问题的时候,能够带上一个关键字, 比如相应的请求的带上的时间戳(timestamp). 或者是请求号(requestNo)这样在定位问题的时候能够比较快速的确定问题上下文.进而进行排查. 当然还有比这里刚刚说的两个参数更通用的办法.那就是使用TraceID; 而这篇备忘性质的文章主要是记录基本的处理办法和一部分技术细节.
注意: 此篇文章的方法已经不适用于最新版本的skywalking ,如果你在使用如大于8.2.0版本的代码.请确认是否其它方法