GoodConsoleCsharp 1.0.4
dotnet add package GoodConsoleCsharp --version 1.0.4
NuGet\Install-Package GoodConsoleCsharp -Version 1.0.4
<PackageReference Include="GoodConsoleCsharp" Version="1.0.4" />
paket add GoodConsoleCsharp --version 1.0.4
#r "nuget: GoodConsoleCsharp, 1.0.4"
// Install GoodConsoleCsharp as a Cake Addin #addin nuget:?package=GoodConsoleCsharp&version=1.0.4 // Install GoodConsoleCsharp as a Cake Tool #tool nuget:?package=GoodConsoleCsharp&version=1.0.4
This is a .NET Core Middleware that replicates how the HapiJS server plugin good-console produces per-request logs (https://github.com/hapijs/good-console). This is not very comprehensive right now. It is meant to help curtail the extremely verbose logging that ILoggerFactory's default implementations produce.
I am not in any way affiliated with WalmartLabs - I just really like good's console request logging a lot, and I despite .NET Core's, so I took an hour to patch this together.
Using this package is easy. Import the GoodConsole namespace into Startup.cs, and use the handy extension method in your Configure() method, preferably near or at the top of the method to make sure the timing aspects of this plugin are as accurate as possible.
///
/// A little example...
///
using GoodConsole;
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
app.UseGoodConsole();
...
}
///
That's all!
I recommend you turn down much of the .NET Core logging to make this plugin most effective - that is, only allow error logs through from the System and Microsoft namespaces, and make Default "information". This will keep log pollution at a minimum while still allowing your use of ILogger methods through.
Product | Versions 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 | netcoreapp1.1 is compatible. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
-
.NETCoreApp 1.1
- Microsoft.AspNetCore.Mvc (>= 1.0.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
This code has been so easy to write, and so incredibly frustrating to publish. Maybe this will work this time.