Rollbar 3.0.0-preview

This is a prerelease version of Rollbar.
There is a newer version of this package available.
See the version list below for details.
dotnet add package Rollbar --version 3.0.0-preview                
NuGet\Install-Package Rollbar -Version 3.0.0-preview                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<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                
#r "nuget: Rollbar, 3.0.0-preview"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Rollbar as a Cake Addin
#addin nuget:?package=Rollbar&version=3.0.0-preview&prerelease

// Install Rollbar as a Cake Tool
#tool nuget:?package=Rollbar&version=3.0.0-preview&prerelease                

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.
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 is compatible.  netcoreapp2.1 is compatible.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net45 is compatible.  net451 is compatible.  net452 is compatible.  net46 is compatible.  net461 is compatible.  net462 is compatible.  net463 was computed.  net47 is compatible.  net471 is compatible.  net472 is compatible.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (23)

Showing the top 5 NuGet packages that depend on Rollbar:

Package Downloads
Rollbar.NetCore.AspNet

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

Rollbar.PlugIns.Serilog

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

Rollbar.NetPlatformExtensions

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

Rollbar.AppSettings.Json

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

Rollbar.Deploys

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

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on Rollbar:

Repository Stars
EDCD/EDDI
Companion application for Elite Dangerous
jexuswebserver/JexusManager
Jexus Manager http://jexusmanager.com
SharebookBR/sharebook-backend
Projeto backend de código livre para o app Sharebook.
Version Downloads Last updated
5.2.2 53,384 3/21/2024
5.2.0 669,275 5/17/2022
5.1.3 235,183 4/1/2022
5.1.2 9,558 3/15/2022
5.1.1 100,591 2/10/2022
5.1.0 7,356 2/9/2022
5.0.5-beta 3,761 11/5/2021
5.0.4-beta 1,510 10/14/2021
5.0.3-beta 1,507 10/6/2021
5.0.2-beta 6,235 9/17/2021
5.0.1-beta 1,390 9/14/2021
5.0.0-beta 1,435 8/27/2021
4.0.3 768,318 3/30/2021
4.0.2 3,748 3/24/2021
4.0.1 5,076 3/9/2021
4.0.0 36,789 2/10/2021
3.14.1 13,781 1/28/2021
3.14.0 138,988 10/22/2020
3.13.0-beta 1,888 9/11/2020
3.12.3 15,876 8/31/2020
3.12.2 18,288 7/21/2020
3.12.1 3,115 7/14/2020
3.12.0 214,635 5/18/2020
3.11.0 11,480 5/8/2020
3.10.0 3,637 4/24/2020
3.9.1 7,079 3/25/2020
3.9.0 2,544 3/21/2020
3.8.0 49,088 3/14/2020
3.7.1 49,705 1/29/2020
3.7.0 115,279 12/23/2019
3.6.3 8,450 11/27/2019
3.6.2 3,709 11/16/2019
3.6.1-beta 2,572 11/6/2019
3.6.0-beta 5,249 9/28/2019
3.5.0 145,538 8/22/2019
3.4.0 2,162 8/19/2019
3.3.0 15,010 8/2/2019
3.2.0 87,969 5/28/2019
3.1.0 12,571 5/6/2019
3.0.6 23,691 4/19/2019
3.0.5 2,021 4/16/2019
3.0.4 7,938 4/5/2019
3.0.3 14,848 3/28/2019
3.0.2 21,011 3/14/2019
3.0.1-preview 682 2/27/2019
3.0.0-preview 540 2/22/2019
2.2.3 34,041 2/14/2019
2.2.2 43,900 2/11/2019
2.2.1 5,847 2/4/2019
2.2.0 50,801 1/16/2019
2.1.1 16,011 12/27/2018
2.1.0 3,886 12/13/2018
2.0.1 7,076 12/1/2018
2.0.0 34,814 11/13/2018
1.6.2 7,803 10/24/2018
1.6.1 9,197 10/6/2018
1.6.0 1,959 9/29/2018
1.5.6 45,725 8/15/2018
1.5.5 13,015 7/23/2018
1.5.4 4,931 7/12/2018
1.5.3 2,148 7/10/2018
1.5.1 1,471 7/5/2018
1.5.0 19,385 6/18/2018
1.4.0 16,446 5/30/2018
1.3.0 12,327 5/15/2018
1.2.1 24,198 4/20/2018
1.2.0 9,671 4/12/2018
1.1.1 17,915 3/30/2018
1.1.0 4,229 3/14/2018
1.0.3 14,228 2/21/2018
1.0.2 4,190 2/6/2018
1.0.1 5,426 1/11/2018
1.0.0 2,231 1/3/2018
0.3.2 99,284 8/10/2016
0.3.2-beta 1,090 7/12/2016
0.3.1-beta 890 6/29/2016
0.3.0-beta 904 6/24/2016
0.2.0 2,090 6/8/2016
0.1.0 1,460 5/17/2016

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.