4

这对你的家伙来说很容易!

如何防止 SLF4J 显示完全限定的类名(例如com.mycompany.mypackage.MyObject)并仅输出MyObject

我通常更喜欢这个:

1)

private static final Logger LOGGER = LoggerFactory
        .getLogger(MyObject.class);

对此:

2)

private static final Logger LOGGER = LoggerFactory
        .getLogger("MyObject");

这样当我重构/重命名MyObject引用MyThing时,就会自动为我更新。

然而.. 1)我得到笨拙的输出:com.mycompany.mypackage.MyObject

我只需要MyObject在日志中查看...

可选:如果您知道如何\e[0;33m根据日志级别有选择地对输出进行着色(例如),那将是很高兴知道的。

4

1 回答 1

5

根据 的APISimpleLogger您可以尝试将实例的org.slf4j.simpleLogger.showShortLogName属性设置为.LOGGERtrue

从 API:

org.slf4j.simpleLogger.showShortLogName-true如果您希望名称的最后一个组成部分包含在输出消息中,请设置为。默认为false.

于 2012-10-10T00:32:22.483 回答