LogToHtml 1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package LogToHtml --version 1.0.0
NuGet\Install-Package LogToHtml -Version 1.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="LogToHtml" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add LogToHtml --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: LogToHtml, 1.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 LogToHtml as a Cake Addin #addin nuget:?package=LogToHtml&version=1.0.0 // Install LogToHtml as a Cake Tool #tool nuget:?package=LogToHtml&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
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.