使用Java中的commons.logging记录异常?

Deb*_*Das 5 java logging apache-commons-logging

我正在使用commons登录Java应用程序,我想从堆栈跟踪中记录异常.

 catch( IOException exception ) {
    logger.error( "IOException Occured :", exception.fillInStackTrace() ); 

       //Print the entire stack trace to log file.
      throw new AsExceptionUtl( APPMessageHelper.getMessage( APPMessageConstants.ERROR_FailedLoadFile, documentPath ) );
   }
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?它会在日志中打印堆栈跟踪吗?

JB *_*zet 4

如果你想记录异常,那么只需使用

logger.error("IOException Occured :", exception); 
Run Code Online (Sandbox Code Playgroud)

是否显示堆栈跟踪取决于底层日志记录实现是什么以及它的配置方式。AFAIK,大多数或所有实现默认情况下都会显示异常的堆栈跟踪。

  • 没什么,因为 Throwable 的构造函数已经调用 fillInStackTrace() 了。默认情况下,堆栈跟踪就在那里。别担心。 (2认同)