BunsenBurner.Logging 2.2.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package BunsenBurner.Logging --version 2.2.0                
NuGet\Install-Package BunsenBurner.Logging -Version 2.2.0                
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="BunsenBurner.Logging" Version="2.2.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add BunsenBurner.Logging --version 2.2.0                
#r "nuget: BunsenBurner.Logging, 2.2.0"                
#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 BunsenBurner.Logging as a Cake Addin
#addin nuget:?package=BunsenBurner.Logging&version=2.2.0

// Install BunsenBurner.Logging as a Cake Tool
#tool nuget:?package=BunsenBurner.Logging&version=2.2.0                

Bunsen Burner Bunsen Burner Logging

Nuget

This provides a set of logging abstractions that allow for assertions to be made against logging done by the SUT.

Getting Started

To use this library, simply include BunsenBurner.Logging.dll in your project or grab it from NuGet, and add this to the top of each test .cs file that needs it:

using BunsenBurner.Logging;

What?

There are two types,

  1. DummyLogger - Implementation of an ILogger that logs to an in-memory thread safe collection
  2. LogMessageStore - Thread safe message sink that is designed to be shared across instances of DummyLogger

Both types extend IEnumerable of LogMessage, so can be easily used in assertions.

For further details check out the unit tests or code.

How to use

To start using it import the logger and create an instance of it,

using BunsenBurner.Logging;

var logger = DummyLogger.New<object>();

logger.LogInformation("Some log message");

// assert against the logger instance
Assert.Contains(logger, x => x.Message == "Some log message");

or replace the log provided in the DI container

using BunsenBurner.Logging;

var store = LogMessageStore.New();

service.AddDummyLogger(store);
var sp = service.BuildServiceProvider();
var logger = sp.GetRequiredService<ILogger<object>>();
logger.LogInformation("Some log message");
// assert against the shared log message store
Assert.Contains(store, x => x.Message == "Some log message");
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 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  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 (4)

Showing the top 4 NuGet packages that depend on BunsenBurner.Logging:

Package Downloads
BunsenBurner.Http

Extension methods for testing Http servers

BunsenBurner.Xunit

Integration with [xUnit.net](https://github.com/xunit/xunit) to easily consume Bunsen Burner

BunsenBurner.Background

Extension methods for testing Background services

BunsenBurner.NUnit

Integration with [NUnit](https://github.com/nunit/nunit) to easily consume Bunsen Burner

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
6.2.4 14,498 6/20/2023
6.2.3 596 6/5/2023
6.2.2 871 4/25/2023
6.2.1 960 3/11/2023
6.2.0 896 1/29/2023
6.1.1 1,322 1/19/2023
6.1.0 3,104 1/12/2023
6.0.0 966 1/11/2023
5.3.1 1,185 1/7/2023
5.3.0 1,154 1/6/2023
5.2.0 1,336 12/17/2022
5.1.0 1,667 12/12/2022
5.0.0 1,319 12/11/2022
4.0.1 1,271 12/11/2022
4.0.0 1,316 12/11/2022
3.0.0 1,340 12/10/2022
2.2.0 1,257 12/9/2022
2.1.0 1,293 12/9/2022
2.0.0 1,382 12/9/2022
1.6.2 1,452 12/2/2022
1.6.1 1,485 12/1/2022
1.6.0 1,384 11/30/2022
1.5.1 1,476 11/26/2022
1.5.0 1,465 11/21/2022
1.4.1 1,474 11/19/2022
1.4.0 1,394 11/19/2022
1.3.0 1,058 11/19/2022
1.2.1 1,046 11/17/2022
1.2.0 1,080 11/16/2022
1.1.1 1,069 11/15/2022
1.1.0 1,045 11/15/2022
1.0.4 757 11/8/2022
1.0.3 790 11/6/2022
1.0.2 789 11/6/2022
1.0.1 766 11/6/2022