在Java中,异常处理可以通过多种方式完成。让我们使用Logging框架将异常处理区分为log4j
或sl4j
,其中除了处理异常之外,还可以将日志重定向到文件。
如果我们使用异常类方法printStackTrace()
代替Logger框架来处理异常并通过将其重定向到文件而不是标准错误输出/控制台来获取异常调用堆栈,那么现在,以下是问题:
printStacktrace()
的理由是什么?提前致谢!
答案 0 :(得分:0)
到2) 日志记录框架不是更好的文件处理程序,但是,例如,从代码中提取日志记录的配置。因此,当您更改配置(例如,开发和生产的其他详细日志级别)时,您不必更改代码 - 您只需为每个测试阶段使用其他日志框架配置。 如果要更改日志文件名,日志文件大小(轮换)或不同包或类的特定日志详细信息,可以通过修改配置轻松完成。
答案 1 :(得分:0)
有很多理由说明为什么你不应该使用printStackTrace()
和once it's not a recent thing here,让我们不要使用God's Perfect Exception link,特别注意Splunk,确实非常好。)
记录框架允许我们使用很多东西(很多):
自定义appender功能非常棒,因为我们可以将日志发送到非文件目的地,例如Sumo Logic,Loggly,logstash,analysing the right logging framework等。就像现在许多公司已经分析和监控他们的生产系统一样。
另外,请考虑{{3}}以满足您的需求。