FastLog.Net
1.1.8552
See the version list below for details.
dotnet add package FastLog.Net --version 1.1.8552
NuGet\Install-Package FastLog.Net -Version 1.1.8552
<PackageReference Include="FastLog.Net" Version="1.1.8552" />
paket add FastLog.Net --version 1.1.8552
#r "nuget: FastLog.Net, 1.1.8552"
// Install FastLog.Net as a Cake Addin #addin nuget:?package=FastLog.Net&version=1.1.8552 // Install FastLog.Net as a Cake Tool #tool nuget:?package=FastLog.Net&version=1.1.8552
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 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 | Versions 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. |
-
.NETFramework 4.8
- System.Threading.Channels (>= 7.0.0)
-
net6.0
- No dependencies.
-
net7.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.
✔ Add "Console" event log which is used for logging the "Console Output".
✔ Log the internal event when FastLog.Net engine has been stopped.