SLF4J:避免使用完全限定的类名

时间:2012-10-09 23:55:35

标签: java logging slf4j

这对你们这些人来说很容易!

如何阻止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),那将非常有用。

1 个答案:

答案 0 :(得分:4)

根据SimpleLogger的{​​{3}},您可以尝试将org.slf4j.simpleLogger.showShortLogName个实例的LOGGER属性设置为true

来自API:

  

org.slf4j.simpleLogger.showShortLogName - 如果你想要的话,设置为true   要包含在输出消息中的名称的最后一个组件。默认   为假。