LogToHtml 1.0.4
See the version list below for details.
dotnet add package LogToHtml --version 1.0.4
NuGet\Install-Package LogToHtml -Version 1.0.4
<PackageReference Include="LogToHtml" Version="1.0.4" />
paket add LogToHtml --version 1.0.4
#r "nuget: LogToHtml, 1.0.4"
// Install LogToHtml as a Cake Addin #addin nuget:?package=LogToHtml&version=1.0.4 // Install LogToHtml as a Cake Tool #tool nuget:?package=LogToHtml&version=1.0.4
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.
Removed some "href" attributes on "dropdown-nav-item" items so that the log file can be embedded within another page without causing issues.