Fineboym.Logging.Generator 1.1.0

Additional Details

Deprecating because of the bug with void returning methods.

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

// Install Fineboym.Logging.Generator as a Cake Tool
#tool nuget:?package=Fineboym.Logging.Generator&version=1.1.0

Logging Decorator Generator

Generates logger decorator class for an interface. Uses Microsoft.Extensions.Logging.ILogger<{Your interface}> to log and requires it in decorator class constructor.

Getting started

Use [DecorateWithLogger] attribute in Fineboym.Logging.Attributes namespace on an interface.

Prerequisites

Latest version of Visual Studio 2022.

Usage

using Fineboym.Logging.Attributes;
using Microsoft.Extensions.Logging;

namespace SomeFolder.SomeSubFolder;

[DecorateWithLogger] // Default log level is Debug, applied to all methods.
public interface ISomeService
{
    DateTime SomeMethod(DateTime someDateTime);

    [LogMethod(Level = LogLevel.Information, EventId = 100)] // Override log level and event id.
    Task<string?> SomeAsyncMethod(string? s);
}

This will create a generated class named SomeServiceLoggingDecorator in the same namespace as the interface.

Additional documentation

If you use .NET dependency injection, then you can decorate your service interface using, for example, Scrutor-> https://github.com/khellang/Scrutor Go here for explanation-> https://andrewlock.net/adding-decorated-classes-to-the-asp.net-core-di-container-using-scrutor/

Feedback

Please go to https://github.com/DavidFineboym/LoggingDecoratorGenerator for feedback.

There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • 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.10.0 630 12/22/2023
1.9.0 1,421 9/23/2023
1.8.0 914 7/14/2023
1.7.0 914 6/16/2023
1.6.0 904 5/27/2023
1.5.0 983 5/20/2023
1.4.0 885 4/29/2023
1.3.1 852 4/26/2023
1.3.0 823 4/21/2023
1.2.0 1,097 3/31/2023
1.1.0 987 3/18/2023
1.0.0 558 3/17/2023
0.1.0-beta 1,023 12/25/2022