tiny.Logger 5.0.6

Package Description

Install-Package tiny.Logger -Version 5.0.6
dotnet add package tiny.Logger --version 5.0.6
<PackageReference Include="tiny.Logger" Version="5.0.6" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add tiny.Logger --version 5.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: tiny.Logger, 5.0.6"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install tiny.Logger as a Cake Addin
#addin nuget:?package=tiny.Logger&version=5.0.6

// Install tiny.Logger as a Cake Tool
#tool nuget:?package=tiny.Logger&version=5.0.6
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

tiny.Logger

Most powerful, multithreaded file logger for high touch application written for .net

Build Status

Features

  • Thread safe file logger.
  • Log shipping based on size.
  • File Name support for custom formats
  • Safe execution handles.
  • .net framework is also supported.

Installation

Install-Package tiny.Logger

.net core / .net 5 Sample

Example 1

code example

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Tiny.CreateDefaultBuilderAndTinyLogger(args).....

Example 2

code example

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureTinyLogger().....
Customization from appsettings.json
"Logging": {
    "LogLevel": {
      "Default": "Trace",
      "Microsoft": "Trace",
      "Microsoft.Hosting.Lifetime": "Trace"
    },
    "options": {
      "file": "MYLOG_$|DATE[dd_MMM_yyyy HH_mm]|$.log",  //<--- (1)
      "path":  "c:\\temp", //<--- (2)
      "size": 5242880 //<--- (3)
    }
  },
  1. "file" ⇒ Name of file.
    • available options
      • $|DATE|$ = for date without format
      • $|DATE[FORMAT]|$ = customize format as per your need e.g. MYLOG_$|DATE[dd_MMM_yyyy HH_mm]|$.logMYLOG_DATE01_JAN_2021 10_45.log
  2. path: folder path for log file
    • available options
      • using environment variables support %temp%\logsC:\Users...\AppData\Local\Temp
  3. size
    • minimum is 1048576 (1MB) in case of smaller value than 1MB will be ignored.
    • if option is missing means disable log shipping based on size.
      .

.Net Framework Setup.

namespace Sample
{
    using tiny;
    using Microsoft.Extensions.Logging;

    class Program
    {
        static void Main(string[] args)
        {
            // first line of execution or before using logger....
            Extensions.ConfigureTinyLogger(@"c:\temp", MinLogLevel: LogLevel.Trace, ...);
            
            // Code to execute.
            
            var data = new Data() { Property1 = "Some value" };
            Extensions.LogInformation("First Log as information", data);
            
            // Code to execute.
            

Safe Executions

Example in .net core / .net 5

Use this option to wrap exuection with exception handling


       public int Sample1Sum(int i, int j)
       {
           int k = 0;
           _logger.ExecuteWithLog(() => { k = i + j; });
           return k;
       }

       public int Sample2Sum(int i, int j)
       {
           return _logger.ExecuteWithLog<int>(() => i + j);
       }

       public int Sample3Sum(int i, int j)
       {
           return _logger.ExecuteWithLog<int>(() => i/0 + j, defaultResult: 0);
       }

Example in .net framework
            Extensions.ILogger.ExecuteWithLog(() => 
            { 
                // code 
            });
ps: You can use Exception, for after execution deligates to perform operations based on your needs

License

MIT

tiny.Logger

Most powerful, multithreaded file logger for high touch application written for .net

Build Status

Features

  • Thread safe file logger.
  • Log shipping based on size.
  • File Name support for custom formats
  • Safe execution handles.
  • .net framework is also supported.

Installation

Install-Package tiny.Logger

.net core / .net 5 Sample

Example 1

code example

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Tiny.CreateDefaultBuilderAndTinyLogger(args).....

Example 2

code example

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureTinyLogger().....
Customization from appsettings.json
"Logging": {
    "LogLevel": {
      "Default": "Trace",
      "Microsoft": "Trace",
      "Microsoft.Hosting.Lifetime": "Trace"
    },
    "options": {
      "file": "MYLOG_$|DATE[dd_MMM_yyyy HH_mm]|$.log",  //<--- (1)
      "path":  "c:\\temp", //<--- (2)
      "size": 5242880 //<--- (3)
    }
  },
  1. "file" ⇒ Name of file.
    • available options
      • $|DATE|$ = for date without format
      • $|DATE[FORMAT]|$ = customize format as per your need e.g. MYLOG_$|DATE[dd_MMM_yyyy HH_mm]|$.logMYLOG_DATE01_JAN_2021 10_45.log
  2. path: folder path for log file
    • available options
      • using environment variables support %temp%\logsC:\Users...\AppData\Local\Temp
  3. size
    • minimum is 1048576 (1MB) in case of smaller value than 1MB will be ignored.
    • if option is missing means disable log shipping based on size.
      .

.Net Framework Setup.

namespace Sample
{
    using tiny;
    using Microsoft.Extensions.Logging;

    class Program
    {
        static void Main(string[] args)
        {
            // first line of execution or before using logger....
            Extensions.ConfigureTinyLogger(@"c:\temp", MinLogLevel: LogLevel.Trace, ...);
            
            // Code to execute.
            
            var data = new Data() { Property1 = "Some value" };
            Extensions.LogInformation("First Log as information", data);
            
            // Code to execute.
            

Safe Executions

Example in .net core / .net 5

Use this option to wrap exuection with exception handling


       public int Sample1Sum(int i, int j)
       {
           int k = 0;
           _logger.ExecuteWithLog(() => { k = i + j; });
           return k;
       }

       public int Sample2Sum(int i, int j)
       {
           return _logger.ExecuteWithLog<int>(() => i + j);
       }

       public int Sample3Sum(int i, int j)
       {
           return _logger.ExecuteWithLog<int>(() => i/0 + j, defaultResult: 0);
       }

Example in .net framework
            Extensions.ILogger.ExecuteWithLog(() => 
            { 
                // code 
            });
ps: You can use Exception, for after execution deligates to perform operations based on your needs

License

MIT

NuGet packages (1)

Showing the top 1 NuGet packages that depend on tiny.Logger:

Package Downloads
tiny.ImageHelper
A library for modifying key attributes for EMF file. Supports Modifying Font Color Background Color Convert to Black and white Convert to gray scale

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
5.0.6 54 3/16/2021
5.0.5 125 3/12/2021
5.0.4.4 107 3/12/2021
5.0.4.3 76 2/26/2021
5.0.4.3-alpha 51 2/26/2021
5.0.4.2 79 2/24/2021
5.0.4.1 71 2/23/2021
5.0.4.1-alpha 87 2/23/2021
5.0.4 72 2/23/2021
5.0.3 78 2/23/2021
5.0.2 73 2/23/2021
5.0.1 66 2/22/2021
5.0.0 76 2/22/2021
1.0.3 69 2/21/2021
1.0.2 84 2/21/2021
1.0.0 75 2/20/2021
0.0.1-alpha 80 2/20/2021