log4j:缩写/缩短软件包名称

2022-08-31 16:22:30

我如何缩写/缩短使用log4j生成的日志中的包名称。即,而不是我想要.我已经在 Artifactory 日志中看到了这一点,但无法弄清楚如何使用 log4j 实现这一点。com.longpackage.anotherpackage.lastpackage.MyClassc.l.a.l.MyClass


答案 1

事实证明,毕竟使用log4j(使用v1.2.16测试)这是可能的,感谢Tomasz Nurkiewicz将我指向LogBack。转换Word功能可使用增强型PatternLayout布局。

来自 javadoc

... For example, for the category name "alpha.beta.gamma" the pattern %c{2} will output the last two elements ("beta.gamma"), %c{-2} will remove two elements leaving "gamma", %c{1.} will output "a.b.gamma" ...

我正在使用JBoss,不得不升级log4j并使用上述布局。


答案 2

Artifactory 使用 Logback

已知依赖于日志回流的项目:

  • [...]

  • 伪像

它有一个很好的功能,称为转换词

转换说明符 记录器名称 结果
%记录器 mainPackage.sub.sample.Bar mainPackage.sub.sample.Bar
%记录器{0} mainPackage.sub.sample.Bar 酒吧
%记录器{5} mainPackage.sub.sample.Bar m.s.s.Bar
%记录器{10} mainPackage.sub.sample.Bar m.s.s.Bar
%记录器{15} mainPackage.sub.sample.Bar m.s.sample.Bar
%记录器{16} mainPackage.sub.sample.Bar m.sub.sample.Bar
%记录器{26} mainPackage.sub.sample.Bar mainPackage.sub.sample.Bar

推荐