vjtools

字符串数据脱敏以及与日志框架logback的集成(日志脱敏)

…衆ロ難τιáo~ 提交于 2020-08-15 16:51:44
字符串数据脱敏框架 可选择唯品会的工具: https://github.com/vipshop/vjtools/blob/master/vjkit/docs/data_masking.md 也可以自定义,用正则或者其他方式(如:commons-lang3#StringUtils) 与logback集成 分析: 由于logback的api和语法多种多样( http://logback.qos.ch/manual/architecture.html , 如下),导致在logback级别处理数据脱敏不太方便,为了保持日志框架原本自由的使用方式,所以在调用前处理日志脱敏,且注意加上必要的日志打印判断提高性能。 logback基本语法: String message = "This is a message."; logger.info(message); logger.info("This is a message"); String param = "some variable"; logger.info("This is a message. {}", param); String param1 = "some variable1"; String param2 = "some variable2"; logger.info("This is a message. {} {}",

SpringBoot dev-tools vjtools dozer热启动类加载器不相同问题

久未见 提交于 2020-05-03 23:55:28
  最近使用唯品会的vjtools的BeanMapper进行对象的深度克隆转换DTO/VO这种操作,Spring Boot的dev-tools热启动,需要把vjtools和dozer包都放到spring-devtools.properties的incloud里面,否则会出现强转失败的问题,原因是dev-tools的热启动使用的是restartClassLoader。   如果只把vjtools加到spring-devtools.properties内,对于一般的克隆都没问题,但是对于如下情况,List内的元素会使用AppClassCloader加载:    @Data public class A { private Long id; private List<Cc> cc; } @Data public class B { private Long id; private List<Cc> cc; } public class Dd { @Data @Builder @NoArgsConstructor @AllArgsConstructor public static class Cc { private String name; } } public class CloneTest { @Test public void test1() { A a = new A(); a

java应用诊断和在线debug利器bistoury介绍与在K8S环境使用

邮差的信 提交于 2020-04-10 11:37:51
Bistoury介绍 Bistoury 是去哪儿网开源的一个对应用透明,无侵入的java应用诊断工具,用于提升开发人员的诊断效率和能力,可以让开发人员无需登录机器或修改系统,就可以从日志、内存、线程、类信息、调试、机器和系统属性等各个方面对应用进行诊断,提升开发人员诊断问题的效率和能力。 Bistoury 集成了Alibaba开源的 arthas 和唯品会开源的 vjtools ,因此arthas和vjtools相关功能都可以在 Bistoury 中使用。 Arthas和vjtools通过命令行或类似的方式使用,Bistoury在保留命令行界面的基础上,还对很多命令提供了图形化界面,方面用户使用。 Bistoury 英文解释是外科手术刀,含义也就不言而喻了。 Screenshots 通过命令行界面查看日志,使用arthas和vjtools的各项功能 在线debug,在线应用调试神器 线程级cpu监控,帮助你掌握线程级cpu使用率 在web界面查看JVM运行信息,以及各种其它信息 动态给方法添加监控 线程dump Bistoury架构分析 Bistoury核心组件包含agent,proxy,ui: agent : 与需要诊断的应用部署到一起,负责具体的诊断命令执行,通过域名连接proxy proxy:agent的代理,agent启动时会通过ws和proxy连接注册