我使用log4j异常日志语法,如下所示
log.error("Exception: ", e);
在我看来,log4j插入了一个回车符来分隔消息和可抛出对象。可以看到下面带圈的^M。有人知道我如何将该日志作为一个普通的换行符吗?(这样看起来就像它前面的logging语句)
q8l4jmvw1#
如果你想得到stacktrace,我相信这是预期的输出。如果你想得到异常消息本身,你可以用e.getMessage()来访问它。在你的例子中,你可以删除Exception:字符串,因为你已经在错误级别记录它,并将其记录为log.error(e.getMessage(), e)。
e.getMessage()
Exception:
log.error(e.getMessage(), e)
a5g8bdjr2#
有人知道我怎么能把日志作为一个普通的换行符吗?您可以自己构造消息,并将该消息作为唯一参数传递给log.error(...)方法。实际上,您传递了两个参数,一个message和一个Throwable。消息被写入日志输出,堆栈跟踪被作为单独的东西写入。这是设计上的,也是大多数人想要的。如果这不是您想要的,不要传递Throwable并构造自己的消息。
log.error(...)
Throwable
2条答案
按热度按时间q8l4jmvw1#
如果你想得到stacktrace,我相信这是预期的输出。如果你想得到异常消息本身,你可以用
e.getMessage()
来访问它。在你的例子中,你可以删除Exception:
字符串,因为你已经在错误级别记录它,并将其记录为log.error(e.getMessage(), e)
。a5g8bdjr2#
有人知道我怎么能把日志作为一个普通的换行符吗?
您可以自己构造消息,并将该消息作为唯一参数传递给
log.error(...)
方法。实际上,您传递了两个参数,一个message和一个Throwable
。消息被写入日志输出,堆栈跟踪被作为单独的东西写入。这是设计上的,也是大多数人想要的。如果这不是您想要的,不要传递Throwable
并构造自己的消息。