(JAVA WEB) log4j 2.x 如何在console输出时固定格式前增加一些打印信息

落到有 2016-11-02 11:45:43
比如
这些随机字母类似一个线程号,表示请求开始到完结,
log4j1.x中我使用的是一个自定义一个类继承conloseAppender然后再重写subAppend在调用this.qw.write()写出,
在log4j 2.x中,我开始也准备直接继承ConsoleAppender类,但是发现在Log4j2.x中ConsoleAppender类是final的,无法继承,然后查询
看到说是继承AbstractAppender 并重写append, 然后再log4j2.xml中注册,这个append中没有write方法,该如何实现逻辑输出

实现代码:


log2j.xml:


最后打印的日志中,一个controller请求到完结,并没有追加我想要的头文件
...全文
326 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
落到有 2016-11-03
  • 打赏
  • 举报
回复
引用 2 楼 u010722803 的回复:
RewriteAppender 实现不了具体需求
是的,实现不了具体需求, 看了下RewriteAppender 源码, 也是继承AbstractAppender 并重写append, 所以我这边把RewriteAppender 源码拷出来,然后把append方法改了下..可以实现具体需求
落到有 2016-11-02
  • 打赏
  • 举报
回复
看了下log4j2.x的文档,有个RewriteAppender类,可以实现注入和验码
解开者 2016-11-02
  • 打赏
  • 举报
回复
log4j有一个MDC容器,可以支持将容器中的对象toString之后拼接到日志格式串里边。格式串形如:%X{} 参考:log4j的NDC/MDC开发与应用,多线程、多平台环境中的跟踪
落到有 2016-11-02
  • 打赏
  • 举报
回复
RewriteAppender 实现不了具体需求

50,535

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧