【发布时间】:2014-04-27 18:27:53
【问题描述】:
我知道这是一个反模式,但在我的 RESTful 应用程序中我想记录并抛出。
我有这个代码
log.warn("Cannot determine provider from name: " + name);
throw X.bad("Cannot determine provider from name: " + name);
这是一种不应该发生的情况——它只是一系列 if/else if 中的最后一个 else。但是,如果它确实发生了,它可能表示前端错误/错误。
- 我的 restful 堆栈可以处理异常并将它们映射到 HTTP 响应。
- 我还想要一个具有良好堆栈跟踪的日志条目。
- 我希望日志条目与它被抛出的位置相关(即记录器类别(类名)和堆栈跟踪。
我确实想过在 X.bad() 中放置一个 log.warn(...),但是日志记录类是 X,并且堆栈跟踪比需要抛出异常时更大。
有没有人有更集成的解决方案?
(我认为停止重复文本组件比什么都重要)
谢谢
罗伯
【问题讨论】:
-
我不确定你的问题是什么。 . .你是在问你这里的代码是否可以工作,是否有更好的方法,或者别的什么?
-
你说得对,斯科特——我没有问任何具体的问题。