LogToHtml 1.0.3
See the version list below for details.
dotnet add package LogToHtml --version 1.0.3
NuGet\Install-Package LogToHtml -Version 1.0.3
<PackageReference Include="LogToHtml" Version="1.0.3" />
paket add LogToHtml --version 1.0.3
#r "nuget: LogToHtml, 1.0.3"
// Install LogToHtml as a Cake Addin #addin nuget:?package=LogToHtml&version=1.0.3 // Install LogToHtml as a Cake Tool #tool nuget:?package=LogToHtml&version=1.0.3
Log2Html
A small library to write (error) logs to a .html file. The html file's structure is based of an embedded .cshtml file.
Currently tested working on Linux & Windows.
Usage
Write a log
using Log2Html;
class Program
{
public static Logging.Options options = new()
{
Projects = new List<string>()
{
$"{Assembly.GetCallingAssembly().GetName().Name}"
},
Project = $"{Assembly.GetCallingAssembly().GetName().Name}",
LogToConsole = true
};
static void Main(string[] args)
{
Logging.Log(options, Logging.LogType.Warn, "Testing");
}
}
Retrieve written logs
//Returns lists with errors all of different log levels written
var logs = Logging.GetLogs();
Options
public static Logging.Options options = new()
{
Projects = new List<string>()
{
$"{Assembly.GetCallingAssembly().GetName().Name}"
},
Project = $"{Assembly.GetCallingAssembly().GetName().Name}",
Date = DateTime.UtcNow,
FilePath = Path.Combine(Environment.CurrentDirectory, "logging", "loggin.html"),
LogToConsole = true
};
- Projects: A list of projects within the solution (so you can write different logs for each project).
- Project: name of current project that is being used for logging (change this option for each solution obviously).
- Date: DateTime format you want to be used in the logs (default is DateTime.UtcNow).
- FilePath: The path you want the file to be written to and it's name.
- LogToConsole: Boolean indicating wether or not you want the library to also write to the console.
Performance
Currently if you're just writing a log every so often performance is fine but if you write a massive amount to it (300-1000+) it will slow down significantly. I do know ways to make the library faster but currently do not have time to implement these.
Libraries
Log2Html utilizes:
- RazorLight to read embedded .cshtml and convert it to string
- Html Agility Pack to read and write to the .html file
- ΛngleSharp to format the HTML
- Pastel to write colors to the console
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. net5.0-windows was computed. net6.0 was computed. 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. |
-
net5.0
- AngleSharp (>= 1.0.0-alpha-844)
- HtmlAgilityPack (>= 1.11.36)
- Pastel (>= 2.1.0)
- RazorLight (>= 2.0.0-rc.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Fixed an null reference error when reading logs from file