FastLog.Net 1.1.8566

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

// Install FastLog.Net as a Cake Tool
#tool nuget:?package=FastLog.Net&version=1.1.8566                

Code Smells Maintainability Rating Security Rating Bugs Vulnerabilities Lines of Code Duplicated Lines (%) Reliability Rating License

FastLog.Net

FastLog.Net is the fastest , most efficient and high performance logger for .Net

How To Use ❔

Step 1 👇

  • Build the Internal Logger agent with fluent builder pattern :
InternalLogger internalLogger = InternalLogger.Create()
                                              .UseJsonFormat()
                                              .SaveInternalEventsToFile(@"Logs\InternalEventsLog.log")
                                              .DeleteTheLogFileWhenExceededTheMaximumSizeOf(20)
                                              .PrintOnConsole();

Note
Internal logger agent is responsible for logging the events occured in the FastLog.Net internally (including exceptions).

Step 2 👇

  • Build the Logger Configuration with fluent builder pattern :
ConfigManager loggerConfig = ConfigManager.Create()
                                          .WithLoggerName("FastLog.Net® Logger")
                                          .WithMaxEventsToKeepInMemory(1_000);

Note
There is "RunAgentsInParallelMode" feature you can use to run agent(s) in parallel , but in most cases it's NOT recommended because may have considerable negative impact on performance.

Step 3 👇

  • Build the Logger with fluent builder pattern :
Logger fastLogger = Logger.Create()
                          .WithInternalLogger(internalLogger)
                          .WithConfiguration(loggerConfig)
                          .WithAgents()


// Add a "Console Agent" with Json format.
                             .AddConsoleAgent()
                              .UseJsonFormat()
                             .BuildAgent()

 

// Add a "TextFile Agent" with Json format and will be re-created when reached to 10 megabytes.
                             .AddTextFileAgent()
                              .UseJsonFormat()
                              .SaveLogToFile("Logs\\TestLog.json")
                              .DeleteTheLogFileWhenExceededTheMaximumSizeOf(10)
                             .BuildAgent() 

// And Finally build the logger.
                           .BuildLogger();


// Start the FastLog.Net engine in the background.
     fastLogger.StartLogger();

Final Step 👇

  • FastLog.Net is ready , just call a logging method from anywhere of your code :
_= fastLogger.LogInfo("This is test logging INFO event);

await fastLogger.LogException(new InvalidOperationException());

await fastLogger.LogException(new Exception("This is a test exception i want to throw !!"));

await fastLogger.LogSystem("The system is gonna be restarted !");

Warning
Since the FastLog.Net uses the background engine to process the requested log event(s) , so we MUST await "ProcessAllEventsInQueue()" method until all request(s) in the queue to be processed before the app/service termination.

GitHub Repository

Please visit FastLog.Net Github repository for source code and more info : FastLog.Net On GitHub

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  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 is compatible.  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 Framework net48 is compatible.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

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.1.8568 844 6/17/2023
1.1.8566.1 683 6/15/2023
1.1.8566 665 6/14/2023
1.1.8564 657 6/13/2023
1.1.8555 653 6/4/2023
1.1.8552 653 6/1/2023
1.1.8551 664 5/31/2023
1.1.8550 654 5/29/2023
1.1.8548 663 5/28/2023
1.1.8547 647 5/27/2023
1.0.0 643 5/27/2023

✔ 1.1.8566 (2023-06-15)
 - Update "FluentConsole.Net"
 - Add optional "EventType" and "DateTime" parameters on "ToPlainText()" extension method.
 - Update "Test App."