日志框架
小方好方
这个作者很懒,什么都没留下…
展开
-
【日志框架】MDC实现日志中增加自定义参数
1、MDCMDC(Mapped Diagnostic Contexts)映射调试上下文,主要用在做日志链路跟踪时,动态配置用户自定义的一些信息,比如requestId、sessionId等等。MDC使用的容器支持多线程操作,满足线程安全。2、log4j2实现代码中调用MDC.putpublic class Log4j2Test { private static final Logger log = LoggerFactory.getLogger(Log4j2Test.class);原创 2020-10-26 21:29:58 · 2165 阅读 · 0 评论 -
【log4j2日志框架】maven-shade-plugin方式打包后不打印日志
0、背景当我将log4j2相关的jar包用maven-shade-plugin方式达到另一个jar中,方便集成的时候发现,报出了无法识别log4j2各个插件的错误:参考https://www.cnblogs.com/cekaigongchengshi/articles/12789854.html 方案一,排除掉Log4j2Plugins.dat找不到自定义的滚动策略CustomRolloverStrategy,将CustomRolloverStrategy修改为默认的DefaultRolloverSt原创 2020-10-21 20:01:07 · 1866 阅读 · 0 评论 -
【log4j2日志框架】敏感字符过滤
0、背景zookeeper服务端所使用的日志框架被我替换为了log4j2,zk的sessionid又被负责安全的大佬评估为敏感信息,不能直接打印,所以要想一个在不修改源码的情况快速解决sessionid打印屏蔽的办法。1、log4j2的replace功能很多日志框架都有过滤替换的功能,log4j2也不例外,支持正则替换。先看zk的sessionid生成方法sessionid高位为服务id,中间为时间戳,低位为递增序列,最大值为Long的最大值。log4j2.properties的pattern原创 2020-10-21 19:14:24 · 2773 阅读 · 1 评论 -
【log4j2日志框架】修改转储日志文件权限
0.背景对于安全要求严格的系统,对于转储的压缩日志文件,要求文件权限为只读,而找遍了log4j2的资料,都没发现有这样操作,log4j2框架对于日志的默认权限都是640。不过log4j2是支持自定义日志1....原创 2020-10-21 18:54:45 · 3564 阅读 · 0 评论 -
将log4j的项目升级到log4j2
0.背景虽然大部分的java项目使用的都是logback,但是仍然有很多开源项目使用log4j,例如kafka、zookeeper。但是log4j已经于2012年停止更新,并且log4j扫出如下安全漏洞:https://rnd-vulncenter.huawei.com/vuln/toViewOfficialDetail?cveId=CVE-2020-9488https://rnd-vulncenter.huawei.com/vuln/toViewOfficialDetail?cveId=CVE-20原创 2020-10-15 19:35:25 · 6965 阅读 · 3 评论 -
logback日志框架学习与问题
1、简介http://logback.qos.ch/,中文网站http://www.logback.cn/logback由log4j的创始人 Ceki Gülcü设计,作为log4j框架的继任者,logback确实应用非常广泛。但是从官网的更新记录看,貌似2019年后更新速度明显缓慢了,不知道是不是要步log4j的后尘。Logback由logback core、logback classic和logback access三个模块组成。logback core为其他两个模块奠定了基础,logback c原创 2020-09-30 18:03:54 · 493 阅读 · 0 评论