Rollbar 3.0.0-preview

Rollbar collects errors that happen in your application, notifies you, and analyzes them so you can debug and fix them.

This is a prerelease version of Rollbar.
There is a newer version of this package available.
See the version list below for details.
Install-Package Rollbar -Version 3.0.0-preview
dotnet add package Rollbar --version 3.0.0-preview
<PackageReference Include="Rollbar" Version="3.0.0-preview" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Rollbar --version 3.0.0-preview
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

What's new and what are the most significant changes of v3 of the SDK?

  Rollbar Notifier/Logger performs 3 distinct internal operations when forwarding any data to the Rollbar API:
    1. queuing the data object(s) to log into a queue associated with particular Rollbar access token;
    2. packaging/parsing the data object into a Rollbar API specified data format;
    3. transmitting the packaged data from a queue to the Rollbar API.
  
  When you call any of the ILogger's logging methods on a RollbarLogger instance, the operation 1 is executed and the method returns immediately, 
  while operations 2 and 3 are performed later on asynchronously on a background thread.
  
  When you call any of the ILogger's logging methods via AsBlockingLogger(timeout) ILoger's instance - all the three operations performed on 
  the calling thread (unless timeout with a timeout exception) before the method returns.
  
  If you prefer operations 1 and 2 (packaging and queuing) to be performed synchronously on the logging method calling thread before a logging method 
  returns - call a logging method of ILogger directly on a RollbarLogger instance (not the one returned by AsBlockingLogger(timeout)) but wrap the logged
  object into an ObjectPackage (implementing the IRollbarPackage interface) while setting its constructor optional parameter/flag mustApplySynchronously to true.
  
  The approaches described above allowed us to remove IAsyncLogger interface from the SDK (and, most importantly, stop using its Task return types that may be
  a cause of some resource contention when used within application hosts that are heavily multi-threaded with very active threads and use of logging that are 
  operating above some threshold defined by the host hardware and the rest of execution environment).
  
  The SDK also includes rich collection of other types implementing the IRollbarPackage interface in form of either ...Package(s) or ...PackageDecorator.
  The decorators are the packages and can be "wrapped" around any other package instance. These packages are used to define any arbitrary data packaging rues and
  at what point of the logging pipeline to apply them. Most inner wrapper is executed first, most outer - last.

Improvements and fixes:

  - resolve #287: Add more seamless integration with ASP.NET (Full Framework) based applications.
  - resolve #288: Add sample of Rollbar.NET within ASP.NET (Full Framework) based applications.
  - resolve #289: Improve flexibility composing Data DTO.
  - resolve #290: Improve comments related to meaning of DTOs properties.
  - resolve #291: Define IRollbarPackage
  - resolve #296: Out of memory exception with high exceptions rate in multi threaded environment.
  - resolve #297: Assumption failure when setting nullable value for a key in ExtendableDtoBase
  - resolve #298: Make initialization of RollbarConfig via config files or explicitly specified access token as mutually exclusive.
  - resolve #300: Implement packaging strategy abstraction.
  - resolve #301: Implement packaging strategy decorator abstraction.
  - resolve #316: Implement packaging strategy for arbitrary object payload.
  - resolve #302: Implement packaging strategy for messages.
  - resolve #303: Implement packaging strategy for exceptions.
  - resolve #304: Implement packaging strategy for ExceptionContext.
  - resolve #312: Implement packaging strategy for Data DTO
  - resolve #313: Implement packaging strategy for Body DTO
  - resolve #305: Implement packaging strategy decorator for Person info.
  - resolve #314: Implement packaging strategy decorator for custom Key Value Pairs
  - resolve #315: Implement packaging strategy decorator for custom RollbarConfig
  - resolve #306: Implement packaging strategy decorator for HttpRequest info.
  - resolve #307: Implement packaging strategy decorator for HttpContext info.
  - resolve #311: Rename packaging strategies and their decorators into "Package"s and "PackageDecorator"s
  - resolve #310: Implement PayloadBundle
  - resolve #308: Implement automatic strategy/Data time-stamping.
  - resolve #309: Complete integration of packaging strategies
  - resolve #317: Consolidate dependencies versions.

What's new and what are the most significant changes of v3 of the SDK?

  Rollbar Notifier/Logger performs 3 distinct internal operations when forwarding any data to the Rollbar API:
    1. queuing the data object(s) to log into a queue associated with particular Rollbar access token;
    2. packaging/parsing the data object into a Rollbar API specified data format;
    3. transmitting the packaged data from a queue to the Rollbar API.
  
  When you call any of the ILogger's logging methods on a RollbarLogger instance, the operation 1 is executed and the method returns immediately, 
  while operations 2 and 3 are performed later on asynchronously on a background thread.
  
  When you call any of the ILogger's logging methods via AsBlockingLogger(timeout) ILoger's instance - all the three operations performed on 
  the calling thread (unless timeout with a timeout exception) before the method returns.
  
  If you prefer operations 1 and 2 (packaging and queuing) to be performed synchronously on the logging method calling thread before a logging method 
  returns - call a logging method of ILogger directly on a RollbarLogger instance (not the one returned by AsBlockingLogger(timeout)) but wrap the logged
  object into an ObjectPackage (implementing the IRollbarPackage interface) while setting its constructor optional parameter/flag mustApplySynchronously to true.
  
  The approaches described above allowed us to remove IAsyncLogger interface from the SDK (and, most importantly, stop using its Task return types that may be
  a cause of some resource contention when used within application hosts that are heavily multi-threaded with very active threads and use of logging that are 
  operating above some threshold defined by the host hardware and the rest of execution environment).
  
  The SDK also includes rich collection of other types implementing the IRollbarPackage interface in form of either ...Package(s) or ...PackageDecorator.
  The decorators are the packages and can be "wrapped" around any other package instance. These packages are used to define any arbitrary data packaging rues and
  at what point of the logging pipeline to apply them. Most inner wrapper is executed first, most outer - last.

Improvements and fixes:

  - resolve #287: Add more seamless integration with ASP.NET (Full Framework) based applications.
  - resolve #288: Add sample of Rollbar.NET within ASP.NET (Full Framework) based applications.
  - resolve #289: Improve flexibility composing Data DTO.
  - resolve #290: Improve comments related to meaning of DTOs properties.
  - resolve #291: Define IRollbarPackage
  - resolve #296: Out of memory exception with high exceptions rate in multi threaded environment.
  - resolve #297: Assumption failure when setting nullable value for a key in ExtendableDtoBase
  - resolve #298: Make initialization of RollbarConfig via config files or explicitly specified access token as mutually exclusive.
  - resolve #300: Implement packaging strategy abstraction.
  - resolve #301: Implement packaging strategy decorator abstraction.
  - resolve #316: Implement packaging strategy for arbitrary object payload.
  - resolve #302: Implement packaging strategy for messages.
  - resolve #303: Implement packaging strategy for exceptions.
  - resolve #304: Implement packaging strategy for ExceptionContext.
  - resolve #312: Implement packaging strategy for Data DTO
  - resolve #313: Implement packaging strategy for Body DTO
  - resolve #305: Implement packaging strategy decorator for Person info.
  - resolve #314: Implement packaging strategy decorator for custom Key Value Pairs
  - resolve #315: Implement packaging strategy decorator for custom RollbarConfig
  - resolve #306: Implement packaging strategy decorator for HttpRequest info.
  - resolve #307: Implement packaging strategy decorator for HttpContext info.
  - resolve #311: Rename packaging strategies and their decorators into "Package"s and "PackageDecorator"s
  - resolve #310: Implement PayloadBundle
  - resolve #308: Implement automatic strategy/Data time-stamping.
  - resolve #309: Complete integration of packaging strategies
  - resolve #317: Consolidate dependencies versions.

Release Notes

What's new and what are the most significant changes of v3 of the SDK?
     
     Rollbar Notifier/Logger performs 3 distinct internal operations when forwarding any data to the Rollbar API:
       1. queuing the data object(s) to log into a queue associated with particular Rollbar access token;
       2. packaging/parsing the data object into a Rollbar API specified data format;
       3. transmitting the packaged data from a queue to the Rollbar API.
     
     When you call any of the ILogger's logging methods on a RollbarLogger instance, the operation 1 is executed and the method returns immediately,
     while operations 2 and 3 are performed later on asynchronously on a background thread.
     
     When you call any of the ILogger's logging methods via AsBlockingLogger(timeout) ILoger's instance - all the three operations performed on
     the calling thread (unless timeout with a timeout exception) before the method returns.
     
     If you prefer operations 1 and 2 (packaging and queuing) to be performed synchronously on the logging method calling thread before a logging method
     returns - call a logging method of ILogger directly on a RollbarLogger instance (not the one returned by AsBlockingLogger(timeout)) but wrap the logged
     object into an ObjectPackage (implementing the IRollbarPackage interface) while setting its constructor optional parameter/flag mustApplySynchronously to true.
     
     The approaches described above allowed us to remove IAsyncLogger interface from the SDK (and, most importantly, stop using its Task return types that may be
     a cause of some resource contention when used within application hosts that are heavily multi-threaded with very active threads and use of logging that are
     operating above some threshold defined by the host hardware and the rest of execution environment).
     
     The SDK also includes rich collection of other types implementing the IRollbarPackage interface in form of either ...Package(s) or ...PackageDecorator.
     The decorators are the packages and can be "wrapped" around any other package instance. These packages are used to define any arbitrary data packaging rues and
     at what point of the logging pipeline to apply them. Most inner wrapper is executed first, most outer - last.
     
     Improvements and fixes:

     - resolve #287: Add more seamless integration with ASP.NET (Full Framework) based applications.
     - resolve #288: Add sample of Rollbar.NET within ASP.NET (Full Framework) based applications.
     - resolve #289: Improve flexibility composing Data DTO.
     - resolve #290: Improve comments related to meaning of DTOs properties.
     - resolve #291: Define IRollbarPackage
     - resolve #296: Out of memory exception with high exceptions rate in multi threaded environment.
     - resolve #297: Assumption failure when setting nullable value for a key in ExtendableDtoBase
     - resolve #298: Make initialization of RollbarConfig via config files or explicitly specified access token as mutually exclusive.
     - resolve #300: Implement packaging strategy abstraction.
     - resolve #301: Implement packaging strategy decorator abstraction.
     - resolve #316: Implement packaging strategy for arbitrary object payload.
     - resolve #302: Implement packaging strategy for messages.
     - resolve #303: Implement packaging strategy for exceptions.
     - resolve #304: Implement packaging strategy for ExceptionContext.
     - resolve #312: Implement packaging strategy for Data DTO
     - resolve #313: Implement packaging strategy for Body DTO
     - resolve #305: Implement packaging strategy decorator for Person info.
     - resolve #314: Implement packaging strategy decorator for custom Key Value Pairs
     - resolve #315: Implement packaging strategy decorator for custom RollbarConfig
     - resolve #306: Implement packaging strategy decorator for HttpRequest info.
     - resolve #307: Implement packaging strategy decorator for HttpContext info.
     - resolve #311: Rename packaging strategies and their decorators into "Package"s and "PackageDecorator"s
     - resolve #310: Implement PayloadBundle
     - resolve #308: Implement automatic strategy/Data time-stamping.
     - resolve #309: Complete integration of packaging strategies
     - resolve #317: Consolidate dependencies versions.

Showing the top 3 GitHub repositories that depend on Rollbar:

Repository Stars
obfuscar/obfuscar
Open source obfuscation tool for .NET assemblies
EDCD/EDDI
Companion application for Elite Dangerous
jexuswebserver/JexusManager
Jexus Manager http://jexusmanager.com

Version History

Version Downloads Last updated
3.6.1-beta 88 11/6/2019
3.6.0-beta 286 9/28/2019
3.5.0 10,259 8/22/2019
3.4.0 195 8/19/2019
3.3.0 5,740 8/2/2019
3.2.0 12,066 5/28/2019
3.1.0 4,167 5/6/2019
3.0.6 3,376 4/19/2019
3.0.5 351 4/16/2019
3.0.4 1,662 4/5/2019
3.0.3 6,754 3/28/2019
3.0.2 2,300 3/14/2019
3.0.1-preview 183 2/27/2019
3.0.0-preview 155 2/22/2019
2.2.3 7,382 2/14/2019
2.2.2 1,082 2/11/2019
2.2.1 2,188 2/4/2019
2.2.0 5,342 1/16/2019
2.1.1 5,275 12/27/2018
2.1.0 1,893 12/13/2018
2.0.1 3,819 12/1/2018
2.0.0 5,202 11/13/2018
1.6.2 3,540 10/24/2018
1.6.1 5,384 10/6/2018
1.6.0 1,173 9/29/2018
1.5.6 21,234 8/15/2018
1.5.5 3,447 7/23/2018
1.5.4 2,160 7/12/2018
1.5.3 735 7/10/2018
1.5.1 598 7/5/2018
1.5.0 5,484 6/18/2018
1.4.0 7,107 5/30/2018
1.3.0 5,236 5/15/2018
1.2.1 11,038 4/20/2018
1.2.0 5,931 4/12/2018
1.1.1 6,581 3/30/2018
1.1.0 2,775 3/14/2018
1.0.3 5,691 2/21/2018
1.0.2 2,314 2/6/2018
1.0.1 2,321 1/11/2018
1.0.0 477 1/3/2018
0.3.2 41,742 8/10/2016
0.3.2-beta 460 7/12/2016
0.3.1-beta 308 6/29/2016
0.3.0-beta 309 6/24/2016
0.2.0 1,034 6/8/2016
0.1.0 479 5/17/2016
Show less