EggEgg.CSharp-Logger 3.0.0

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

// Install EggEgg.CSharp-Logger as a Cake Tool
#tool nuget:?package=EggEgg.CSharp-Logger&version=3.0.0                

csharp-logger

A bussy but convenient C# Logger implement.
You can download it on nuget.org by searching EggEgg.CSharp-Logger.

NuGet

Update

v3.0.0

  • Fixed the issue where unprocessed logs in the waiting queue would be lost when the program is closed.
  • Fixed the issue where debug.log were not written to disk when Debug_LogWriter_AutoFlush is set to false and the program is terminated.
  • Properly supported the functionality of pasting text using Ctrl+V in ConsoleWrapper.
  • Fixed the issue where the console could not scroll to view previous input/output when using the ConsoleWrapper.ReadLine series of methods.
  • Fixed the issue where the ConsoleWrapper.ReadLine series of methods would repeatedly output the InputPrefix content when the program ends.
  • Fixed the issue where the log processing thread would be blocked when the user selects content on the console while using the default configuration of logging with the native Console.
  • Fixed the issue where the automatic log compression feature ignored logs with empty content.
  • Fixed the issue where logs with empty content were ignored when the automatic log compression feature was unable to compress into an existing log compression package and created a new zip file.
  • Other fixes and improvements related to the logger and ConsoleWrapper.
  • Known issue: Significant problems exist with the functionality of using the Home/End keys in ConsoleWrapper when there are multiple lines of input.
    This will be fixed in the next major version after thorough testing.

Features

  • Common logger implements
    Usage: Firstly Log.Initialize(LoggerConfig), then Log.Info(content, sender), Log.Erro(...), Log.Warn(...), Log.Dbug(...).
  • Color output Support
    Just add xml tags in text, like:<color=Red>Output as red color</color>.
    The Color value should be a valid value in ConsoleColor, e.g. "Red", "Green".
    Recognized color tags will be removed in the log file.
  • Parallel input Support
    if you wants to read the user's input while outputing logs parallel (e.g. making a CLI program), ConsoleWrapper is provided.
    You can set the value of ConsoleWrapper.InputPrefix as a waiting-input prefix, just like mysql> or ubuntu ~$ , and use ConsoleWrapper.ReadLineAsync to read inputs from the user.
    _Notice that it will impact the performance when the user's input is very large. It's disabled as default, and you can enable it by LoggerConfig(use_Console_Wrapper: true).
  • Output amount limit
    Large infomation outputing can severely impact the performance. You can set the maximum output amount per line by LoggerConfig.Max_Output_Char_Count.
    You can also disable this by setting it to -1.
  • Auto compress logs
    If there're logs created 1 day ago, they will be compressed into a zip file like logs.[Date].zip.
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 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.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on EggEgg.CSharp-Logger:

Package Downloads
EggEgg.Shell

Provide easy and fully-armed command-based shell experience.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
5.0.0 732 7/16/2024
4.0.2 363 12/22/2023
4.0.1 386 11/6/2023
4.0.0 366 9/23/2023
3.0.0 351 7/13/2023
2.2.3 324 6/9/2023
2.2.2 213 5/31/2023
2.2.1 225 5/6/2023
2.1.4 274 4/15/2023
2.1.3 236 4/15/2023
2.1.2 231 4/9/2023
2.1.1 234 4/9/2023
2.1.0 246 4/8/2023 2.1.0 is deprecated because it has critical bugs.
2.0.1 232 4/8/2023
2.0.0 284 4/8/2023

Changes in v3.0.0
- Fixed the issue where unprocessed logs in the waiting queue would be lost when the program is closed.
- Fixed the issue where `debug.log` were not written to disk when `Debug_LogWriter_AutoFlush` is set to `false` and the program is terminated.
- Properly supported the functionality of pasting text using Ctrl+V in `ConsoleWrapper`.
- Fixed the issue where the console could not scroll to view previous input/output when using the `ConsoleWrapper.ReadLine` series of methods.
- Fixed the issue where the `ConsoleWrapper.ReadLine` series of methods would repeatedly output the `InputPrefix` content when the program ends.
- Fixed the issue where the log processing thread would be blocked when the user selects content on the console while using the default configuration of logging with the native `Console`.
- Fixed the issue where the automatic log compression feature ignored logs with empty content.
- Fixed the issue where logs with empty content were ignored when the automatic log compression feature was unable to compress into an existing log compression package and created a new zip file.
- Other fixes and improvements related to the logger and `ConsoleWrapper`.
- Known issue: Significant problems exist with the functionality of using the Home/End keys in `ConsoleWrapper` when there are multiple lines of input.    
 This will be fixed in the next major version after thorough testing.