Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LOG.error(“IOException:”和“x2B;e.getMessage(),e”)之间的区别是什么;和LOG.error(“IOException:”和“e.getMessage());?_Java_Logging_Exception Handling - Fatal编程技术网

Java LOG.error(“IOException:”和“x2B;e.getMessage(),e”)之间的区别是什么;和LOG.error(“IOException:”和“e.getMessage());?

Java LOG.error(“IOException:”和“x2B;e.getMessage(),e”)之间的区别是什么;和LOG.error(“IOException:”和“e.getMessage());?,java,logging,exception-handling,Java,Logging,Exception Handling,我注意到这两种说法都是有效的。与第二条语句相比,第一条语句中记录的额外内容是什么?第一条语句还记录原始异常(和stacktrace),第二条语句只记录消息 因此,第一条语句中记录的“额外内容”是原始异常。这通常是一件好事,因为这样可以更容易地调试错误。根据文档 无效错误(对象消息)=>记录具有错误日志级别的消息 无效错误(对象消息,可丢弃的t)=>以错误日志级别记录错误 我认为这可能会解决您的疑问。如果您使用带有可丢弃参数的方法,支持团队将非常感谢您。第二个只打印异常的原因,第一个显示stack

我注意到这两种说法都是有效的。与第二条语句相比,第一条语句中记录的额外内容是什么?

第一条语句还记录原始异常(和stacktrace),第二条语句只记录消息


因此,第一条语句中记录的“额外内容”是原始异常。这通常是一件好事,因为这样可以更容易地调试错误。

根据文档

无效错误(对象消息)=>记录具有错误日志级别的消息

无效错误(对象消息,可丢弃的t)=>以错误日志级别记录错误


我认为这可能会解决您的疑问。

如果您使用带有可丢弃参数的方法,支持团队将非常感谢您。第二个只打印异常的原因,第一个显示stacktrace


如果在try/catch中使用第二个异常,则可能隐藏了原始异常,因为它只打印第一个异常的消息。

您可以使用日志API进行检查。第一个异常只有原因(消息)。第二个has既有原因也有抛弃,如果两个has都有效,则在
getMessage
之后需要
()
。例如,可以将记录器配置为记录堆栈跟踪。有时非常有用。事实上,第一种形式使得
e.getMessage()
以及“IOException!”的包含大部分是多余的(无论如何都会作为异常的一部分记录)。更好地使用日志消息来提供有用的上下文,比如这里执行的是什么操作、针对哪个用户、针对哪个资源。