1

从昨天开始,我一直在尝试在一个新项目上设置 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
    }

}

我试图同时通知报告和异常,认为两者中的一个应该可以工作......但没有一个到达目的地。

4

1 回答 1

0

好的,所以...从昨天开始我就遇到了麻烦,我决定在这里寻求帮助,所以我重构了我的配置(从代码中隐藏 API 密钥,这样我就可以实际复制/粘贴我的代码在这里),你猜怎么着。我刷新了bugsnag界面,出现了8分钟前的错误!

所以基本上,它自己解决了。我曾经直接在代码中设置 API 密钥,我只将它放在我的应用程序配置中,这似乎对我的情况有所帮助。

不管怎样,已经解决了。我不确定是不是因为这个,但是如果其他人有麻烦,请尝试使用您的应用程序的配置...

于 2018-01-23T09:33:03.067 回答