从昨天开始,我一直在尝试在一个新项目上设置 Bugsnag,但似乎没能成功。
这个项目是用 Kotlin 编写的,我使用的是 Spring Boot 框架。我遵循了集成指南的所有步骤(使用正确的 API key 获取了我的 Bugsnag bean,配置了异常处理程序等)。
所以,我一直在调试我的应用程序,并且处理程序被按其应有的方式调用,对 bugsnag.notify
的调用也有效,我看到它进入了交付步骤并成功通过,但 Bugsnag Web 应用程序上仍然没有显示错误报告。
我不知道如何调试它,但我已经知道了。
以下是一些相关的代码示例:
// Application.kt
@Configuration
open class ApplicationConfiguration(private val config: Config) {
@Bean
open fun bugsnag(): Bugsnag = Bugsnag(config.bugsnag.key).apply { setReleaseStage(config.envName) }
}
这是我的处理程序
// BugsnagHandlerExceptionResolver.kt
@Component
class BugsnagHandlerExceptionResolver(private val bugsnag: Bugsnag) : HandlerExceptionResolver, Ordered {
override fun getOrder(): Int = 0
override fun resolveException(request: HttpServletRequest, response: HttpServletResponse, handler: Any?, ex: Exception?): ModelAndView? {
val report = bugsnag.buildReport(ex).apply {
request.headerNames.iterator().forEach {
addToTab("Headers", it, request.getHeaders(it).toList().joinToString())
}
context = request.method + " " + request.requestURL.toString()
}
bugsnag.notify(report)
bugsnag.notify(RuntimeException("pls work"))
return null
}
}
我尝试通知报告和异常,认为两者之一应该起作用......但没有一个到达目的地。
最佳答案
好吧,所以...从昨天开始我就遇到了麻烦,我决定在这里寻求一些帮助,所以我重构了我的配置(从代码中隐藏API key ,这样我实际上可以在这里复制/粘贴我的代码),你猜怎么着。我刷新bugsnag界面,8分钟前的错误出现了!
所以基本上,它自行解决了。我曾经直接在代码中设置 API key ,在这篇文章中我只将它放在我的应用程序的配置中,它似乎对我的情况有所帮助。
总之,事情已经解决了。我不确定这是因为这个,但如果其他人遇到麻烦,请尝试使用您的应用程序的配置...
关于java - Bugsnag w/Spring (Kotlin/Java) : not receiving any error report,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48398216/