我刚刚开始迁移到WLS 10.x并注意到WL的线程名[%t
]非常详细,而且比我的部署需求更具信息性。
最终,我只关心线程ID,但WL给了我这个:<
[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'
~
有没有人知道log4j中是否有办法编写一个自定义过滤器,允许我覆盖PatternLayout
所以我可以解析WLS线程名称只输出线程ID,在这种情况下上面是0 ?我宁愿扩展然后自定义,因为它使升级库变得更加容易。
答案 0 :(得分:0)
您想要编写自己的转换字。在logback中,您可以在几分钟内完成。请参阅custom conversion specifiers部分。
如果你真的很懒,并且无法编写自定义转换字,只需告诉现有的throwable将线程名称修剪为26个字符。模式将是“%.- 26thread”。我选择了26,因为这是“[ACTIVE] ExecuteThread:'0'”的长度。