在代码中设置Bugsnag配置选项

时间:2019-02-07 05:09:11

标签: asp.net bugsnag

documentation中,我可以在代码中执行以下操作以进一步配置集成:

  

每个键都提供一个 in 示例和一个配置文件示例。

configuration.ReleaseStage = "development";

我想做的是:

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

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

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

<bugsnag apiKey="your-api-key" releaseStage="development">

问题是我正在从AppSettings中读取环境,因此无法以这种方式完成。

是否可以用代码进行配置?如果可以,怎么做?

更新:自发布问题以来,我已经在GitHub上找到了issue

1 个答案:

答案 0 :(得分:1)

从GitHub问题看来,这似乎是不可能的,所以我使用了项目贡献者之一建议的work around

  

我现在建议的唯一解决方法是使用核心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!"));

这有效,并且现在将错误及其发生的环境记录下来。我的下一步将是重构此工作,以使client可以在全球范围内使用,但现在这可以解决我的 in 问题。