1

我刚刚开始迁移到 WLS 10.x,并注意到%tWL 的线程名称 [ ] 非常冗长,并且比我的部署需求所需的信息更多。

最终,我只关心线程 ID,但 WL 给了我这个:<

[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'
~

有谁知道在 log4j 中是否有一种方法可以编写一个自定义过滤器来允许我覆盖PatternLayout,以便我可以解析 WLS 线程名称以仅输出线程 ID,在上面的这种情况下为 0 ?我宁愿扩展而不是自定义,因为它使升级库变得更加容易。

4

1 回答 1

0

您想编写自己的转换词。在 logback 中,您可以在几分钟内完成。请参阅自定义转换说明符部分。

如果你真的很懒,懒得写自定义转换词,只需告诉现有的 throwable 将线程名称修剪为 26 个字符。模式将是“%.-26thread”。我选择 26 是因为那是“[ACTIVE] ExecuteThread: '0'”的长度。

于 2010-03-06T14:00:30.873 回答