在代码中设置 Bugsnag 配置选项

jhh*_*ams 5 asp.net bugsnag

文档中,它说我可以在代码中执行以下操作来进一步配置我的集成:

每个键都提供了一个代码示例和一个配置文件示例。

configuration.ReleaseStage = "development";
Run Code Online (Sandbox Code Playgroud)

我想做的是:

public static void Register(HttpConfiguration config)
{
    var configuration = Bugsnag.ConfigurationSection.Configuration.Settings;
    configuration.ReleaseStage = ConfigurationManager.AppSettings["Environment"];
    config.UseBugsnag(configuration);
}
Run Code Online (Sandbox Code Playgroud)

但是,配置属性是只读的(没有设置器)。

另一种方法是将配置添加到 Web.config:

<bugsnag apiKey="your-api-key" releaseStage="development">
Run Code Online (Sandbox Code Playgroud)

问题是我正在从 AppSettings 读取我的环境,因此不能这样做。

是否可以在代码中进行配置,如果可以,如何进行?

更新:自从发布问题后,我在 GitHub 上发现了这个问题

jhh*_*ams 2

从 GitHub 问题来看,这似乎是不可能的,所以我使用了该项目贡献者之一建议的解决方法。

我现在可以建议的唯一解决方法是使用核心 Bugsnag nuget 包......

我删除了所有“旧”代码,卸载了除基本 Bugsnag 之外的所有 NuGet 包,并将以下代码添加到了OnException迄今为​​止我一直在记录异常的覆盖方法中。

var configuration = new Configuration("API_KEY")
{
    ReleaseStage = myReleaseStage
};
var client = new Bugsnag.Client(configuration);
client.Notify(new System.Exception("Error!"));
Run Code Online (Sandbox Code Playgroud)

这很有效,现在错误及其发生的环境都会被记录下来。我的下一步将是重构这项工作,以便client在全球范围内可用,但目前这解决了我的代码问题。