-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
业务代码抛出异常之后,框架没有打印异常信息 #513
Comments
@OrezzerO 这里使用 SOFA RPC 自己内置的 |
@JervyShi 我觉得这么处理还是不够的, 因为 resteasy 内部是用 我的想法是把 |
@OrezzerO 是说框架主动做 |
@JervyShi 并不是说直接指定 作为框架的提供者,我们不应该规定用户用什么日志实现,同样的,我们也不能保证用户是否同时依赖多个日志框架/(ㄒoㄒ)/~~ |
refer to #513 |
Your question
业务代码抛出异常之后,框架没有打印异常堆栈
Rest 协议异常请求流程
SofaRestRequestHandler 兜底处理异常,打印异常堆栈
然而,SofaRestRequestHandler 中的 logger 是由
org.jboss.resteasy.logging.Logger
这个特殊的 Logger 构造出来的. 如果不指定日志实现, 这个 Logger 的日志实现是由以下代码指定的:可以看出,Log4j 的优先级是高于 SLF4j 的. 我们很难在依赖中完全去除
org.apache.log4j.Logger
这就导致了我们整体上使用 Logback,SofaRestRequestHandler
这个类以及 resteasy 相关类中的日志依然使用log4j
打印.解决方案
显示指定 resteasy 使用的日志框架:
Environment
java -version
):uname -a
):The text was updated successfully, but these errors were encountered: