Java Can log4j';s错误方法打印没有字符串参数的堆栈跟踪?

Java Can log4j';s错误方法打印没有字符串参数的堆栈跟踪?,java,log4j,log4j2,Java,Log4j,Log4j2,关于Log4j v2,我想调用log.error(exceptionTypeObj)并将堆栈跟踪打印到我的日志文件中,而不是exceptionTypeObj.toString()。可能吗 我宁愿编写类似于log.error(e)的代码,然后就这样完成了 对我来说,继续编写类似log.error(“error”,exceptionTypeObj除外)的内容是很容易出错的,也是多余的。字符串参数是多余的,因为您没有正确使用它。异常将告诉您发生了什么错误,但它不会告诉您发生错误时尝试执行的操作。这就是

关于Log4j v2,我想调用log.error(exceptionTypeObj)并将堆栈跟踪打印到我的日志文件中,而不是exceptionTypeObj.toString()。可能吗

我宁愿编写类似于
log.error(e)
的代码,然后就这样完成了


对我来说,继续编写类似log.error(“error”,exceptionTypeObj除外)的内容是很容易出错的,也是多余的。

字符串参数是多余的,因为您没有正确使用它。异常将告诉您发生了什么错误,但它不会告诉您发生错误时尝试执行的操作。这就是为什么您应该始终提供字符串。提供一个字符串,该字符串表示“尝试更新用户{}的用户配置文件时出错”,然后提供用户名或id


如果没有字符串参数,您将迫使支持人员致电工程部,以了解异常的含义以及他们应该如何处理。

这是多余的,因为您不考虑阅读日志的人员。为什么不实际指定一条消息来描述失败的内容?例如,
log.error(“无法读取文件\”“+文件+”\”,e)