记录变量名时删除包信息

时间:2016-06-01 18:04:07

标签: java logging

static constexpr char const m_pszFoo[] = "**FOO***"; 将呈现如下内容:

  

我的变量是com.thisismyapplicationname.thisismyprackagename.Foo@1abcdef

这占用了大量空间并且难以阅读,所以有没有办法让Log语句输出这个?:

  

我的变量是Foo @ 1abcdef

我不需要申请或包裹信息。

1 个答案:

答案 0 :(得分:0)

这是来自@SotiriosDelimanolis评论的优秀答案。我赞同他所有的评论,并给了他一个星期的回复,但我真的认为发布他对这个问题的答案将有助于社区。

日志记录文本来自toString(),因此您可以通过覆盖该方法来解决此问题:

public String toString() {
    return (super.toString().substring(super.toString().lastIndexOf(".") + 1));
}

这实现了我想要的(删除所有包信息),但你显然可以做任何事情。谢谢@SotiriosDelimanolis!