RollbarSharp.jsgervais
1.0.1
dotnet add package RollbarSharp.jsgervais --version 1.0.1
NuGet\Install-Package RollbarSharp.jsgervais -Version 1.0.1
<PackageReference Include="RollbarSharp.jsgervais" Version="1.0.1" />
paket add RollbarSharp.jsgervais --version 1.0.1
#r "nuget: RollbarSharp.jsgervais, 1.0.1"
// Install RollbarSharp.jsgervais as a Cake Addin
#addin nuget:?package=RollbarSharp.jsgervais&version=1.0.1
// Install RollbarSharp.jsgervais as a Cake Tool
#tool nuget:?package=RollbarSharp.jsgervais&version=1.0.1
NOTE: No longer in active development
The Rollbar team has done an excellent job creating an official .NET client over at https://github.com/rollbar/Rollbar.NET. It's recommened to use this for new projects and to migrate existing projects to the client. This project is no longer maintained. Thanks to everyone who contributed over the life of this project.
RollbarSharp
.NET bindings for Rollbar.
I'm not affiliated with Rollbar, I just like their service.
Minimum version is .NET 4.5. There's also a dependency on System.Web.Routing
, so you'll at least need ASP.NET MVC installed on the system.
Installation
RollbarSharp is available on Nuget and can be installed by:
PM> Install-Package RollbarSharp
Usage
Configuration
The easiest way to get going is to add the Rollbar.AccessToken
item to your app settings.
<configuration>
<appSettings>
<add key="Rollbar.AccessToken" value="YOUR_TOKEN_HERE"/>
<add key="Rollbar.Environment" value="production"/>
</appSettings>
</configuration>
From there, you have several options on how to integrate with your app.
As an ASP.NET Filter
public class RollbarExceptionFilter : IExceptionFilter
{
public void OnException(ExceptionContext filterContext)
{
if (filterContext.ExceptionHandled)
return;
(new RollbarClient()).SendException(filterContext.Exception);
}
}
And then in Global.asax.cs
you can do
GlobalFilters.Filters.Add(new RollbarExceptionFilter());
Or if you're using an inversion of control system that supports binding filters, you could do it there. This is an example with Ninject. You could even dependency-inject the RollbarClient
if you want to create it in your own factory method.
kernel.BindFilter<RollbarExceptionFilter>(FilterScope.Global, 10).InSingletonScope();
The OnException
method could instead be used verbatim inside a Controller
if you add the override
keyword. protected override void OnException(ExceptionContext filterContext) ...
As an ASP.NET application event handler (Global.asax.cs)
protected void Application_Error(object sender, EventArgs e)
{
var exception = Server.GetLastError().GetBaseException();
(new RollbarClient()).SendException(exception);
}
As an HttpModule in the Web.config
IIS Integrated Pipeline
<system.webServer>
<modules>
<add name="RollbarHttpModule" type="RollbarSharp.RollbarHttpModule"/>
</modules>
</system.webServer>
IIS Classic Pipeline
<system.web>
<httpModules>
<add name="RollbarHttpModule" type="RollbarSharp.RollbarHttpModule"/>
</httpModules>
</system.web>
As an NLog target
You'll need to add the NLog.RollbarSharp assembly to your project for this to work but it's available on NuGet. Check out the NLog.RollbarSharp README for configuration details, but here's the skinny:
<nlog>
<extensions>
<add assembly="NLog.RollbarSharp" />
</extensions>
<targets>
<target xsi:type="RollbarSharp" name="rollbar" />
</targets>
<rules>
<logger name="*" minlevel="Warn" writeTo="rollbar" />
</rules>
</nlog>
<appSettings>
<add key="Rollbar.AccessToken" value="6703358e9f54081e59bb0d65ee066363"/>
<add key="Rollbar.Environment" value="development"/>
</appSettings>
Bugs
- If you encounter a bug, performance issue, or malfunction, please add an Issue with steps on how to reproduce the problem.
Building
I'm using ScriptCs for managing the build process.
To build go to build folder and then run this command:
scriptcs -script build.csx
After that, upload new RollbarSharp.{version}.nupkg to nuget.
TODO
- Add more tests
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET Framework | net45 is compatible. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.1 | 293 | 9/13/2023 |