从昨天开始,我一直在尝试在一个新项目上设置 Bugsnag,但我似乎无法做到正确。
这个项目是用 Kotlin 编写的,我使用的是 Spring Boot 框架。我遵循了集成指南的所有步骤(得到了我的 Bugsnag bean,使用正确的 API 密钥,配置了异常处理程序等)。
所以,我一直在调试我的应用程序,并且应该调用处理程序,调用bugsnag.notify
也有效,我看到它进入交付步骤并成功传递,但是仍然没有错误报告显示在 Bugsnag网络应用程序。
我不知道如何调试它比我已经拥有的更多。
以下是一些相关的代码示例:
// 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
}
}
我试图同时通知报告和异常,认为两者中的一个应该可以工作......但没有一个到达目的地。