Files
portaloggy/README.md
mc 17442ae6ba
Some checks failed
Pack and Push NuGet Package / publish (push) Failing after 47s
Update README.md
2025-07-01 14:22:39 +00:00

25 lines
1.9 KiB
Markdown

# portaloggy
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`
You must provide login credentials.
## 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.).