Files
portaloggy/README.md
mc 6d1064bb9a
Some checks failed
Pack and Push NuGet Package / publish (push) Failing after 45s
Update README.md
2025-07-05 16:48:31 +00:00

25 lines
2.2 KiB
Markdown

# portaloggy
[!["give me a tip"](https://img.shields.io/badge/give%20me%20a%20-tip-FFD200)](https://paypal.me/emsicz) [!["see my github"](https://img.shields.io/badge/see%20my%20-github-1F2328)](https://github.com/masiton?tab=repositories)
Portaloggi (<img src="https://gitea.masita.net/mc/portaloggy/raw/branch/main/assets/portaloggy-icon.128.png" alt="Alt Text" width="32" height="32">) is a minimal, highly-portable, thread-safe .NET logging abstraction and implementation. Use `portaloggy.ILogger` everywhere. Make use of `portaloggy.LoggerExtensions` to make easy logging even easier. Already contains `ConsoleLogger` for dead-simple console logging and `AggregatedLogger` for simultaneous logging to multiple instances of `ILogger`.
![Screenshot of example use of the library.](https://gitea.masita.net/mc/portaloggy/raw/commit/9cbb6488d2ca1a71877902ca51b056c93eb81ffc/assets/example-use-1.jpg)
## Why
Existing logging solutions were too complicated for me. I want something I just instantiate, it has no decorators, formatters, loaders, configs, extensions for init, and tons of other garbage just so it can log a fucking message to a console window.
## How to use
Add nuget resource to Visual Studio, install the package and write `var logger = new ConsoleLogger();` it's literally this simple. It will straight up start logging (pretty) messages to console, with accurate time, severity, message and even exception formatting and stacktrace if you provide the arguments.
You are free to provide additional implementations for `ILogger` interface, i.e. Serilog, log4net or others. Portaloggy, however, maintains absolutely minimal footprint in your assemblies, doesn't require generic instantiation and yet figures out Exception stacks all the same. It's just dead simple to use everywhere and wire existing, bulky, complicated logging solutions only at bootstrap.
### NuGet source
`https://gitea.masita.net/api/packages/mc/nuget/index.json`
## How it works
See `ILogger` interface. It's really simple. Use [extensions](https://gitea.masita.net/mc/portaloggy/src/commit/9cbb6488d2ca1a71877902ca51b056c93eb81ffc/code/portaloggy/LoggerExtensions.cs) to provide friendlier use for usual usecases separated by severity (`Warning()`, `Error()`, etc.).