The SharpRaven.Nancy package automatically captures the HTTP context and registers on the IPipelines.OnError event to send unhandled exceptions to Sentry.
To enable it, you must provide a DSN via one of two methods:
Method 1: Register in TinyIoCContainer
During application startup, register an instance of the Dsn class.
Method 2: XML Configuration
Add a sharpRaven section to your web.config or app.config.
Once configured, you can access the client by requesting IRavenClient in your Nancy modules.
// Container registration
protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
{
container.Register(new Dsn("https://public@sentry.io/project-id"));
}
<!-- XML Configuration -->
<configuration>
<configSections>
<section name="sharpRaven" type="SharpRaven.Nancy.NancyConfiguration, SharpRaven.Nancy" />
</configSections>
<sharpRaven>
<dsn value="https://public@sentry.io/project-id" />
</sharpRaven>
</configuration>
// Using IRavenClient in a module
public class LoggingModule : NancyModule
{
private readonly IRavenClient ravenClient;
public LoggingModule(IRavenClient ravenClient)
{
this.ravenClient = ravenClient;
}
}