PicoLog.Gen
2026.6.0
dotnet add package PicoLog.Gen --version 2026.6.0
NuGet\Install-Package PicoLog.Gen -Version 2026.6.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="PicoLog.Gen" Version="2026.6.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PicoLog.Gen" Version="2026.6.0" />
<PackageReference Include="PicoLog.Gen" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PicoLog.Gen --version 2026.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: PicoLog.Gen, 2026.6.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.
#:package PicoLog.Gen@2026.6.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PicoLog.Gen&version=2026.6.0
#tool nuget:?package=PicoLog.Gen&version=2026.6.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
PicoLog
High-performance structured logging for .NET Native AOT.
Quick Start
dotnet add package PicoLog
using PicoLog;
using PicoLog.Abs;
var sink = new ColoredConsoleSink(new ConsoleFormatter());
using var factory = new LoggerFactory([sink],
new LoggerFactoryOptions { MinLevel = LogLevel.Info });
var logger = factory.CreateLogger("App");
logger.Info("Application started");
Log Levels
| Level | Value | Usage |
|---|---|---|
| Emergency | 0 | System is unusable |
| Alert | 1 | Action must be taken immediately |
| Critical | 2 | Critical conditions |
| Error | 3 | Error conditions |
| Warning | 4 | Warning conditions |
| Notice | 5 | Normal but significant |
| Info | 6 | Informational messages |
| Debug | 7 | Debug-level messages |
| Trace | 8 | Detailed diagnostic tracing |
| None | 255 | Disables all logging |
Message Templates
logger.Info($"Processing order {orderId} for {customer}");
// Structured logging with explicit properties
logger.LogStructured(LogLevel.Error, "Payment failed",
properties: [new("OrderId", orderId), new("Amount", amount)],
exception: ex);
Source-Generated Messages
public static partial class AppLogs
{
[PicoLogMessage(LogLevel.Info, EventId = 1001, Message = "Order {OrderId} placed")]
public static partial void OrderPlaced(this ILogger logger, string orderId);
}
logger.OrderPlaced("ORD-12345");
Built-in Sinks
var sinks = new List<ILogSink>
{
new ConsoleSink(new ConsoleFormatter()),
new ColoredConsoleSink(new ConsoleFormatter()),
new FileSink(new ConsoleFormatter(),
new FileSinkOptions { FilePath = "app.log", BatchSize = 100 })
};
Custom Sinks
public sealed class CustomSink : ILogSink
{
public Task WriteAsync(LogEntry entry, CancellationToken ct = default)
{
// Write to your backend
return Task.CompletedTask;
}
public void Dispose() { }
public ValueTask DisposeAsync() => ValueTask.CompletedTask;
}
DI Integration (PicoLog.DI)
container.AddPicoLog(o =>
{
o.MinLevel = LogLevel.Info;
o.WriteTo.ColoredConsole();
o.WriteTo.File("app.log");
});
var logger = container.CreateScope().GetService<ILogger<Program>>();
Packages
| Package | Description |
|---|---|
| PicoLog | Logging runtime |
| PicoLog.Abs | ILogger, ILogSink, LogLevel, LogEntry |
| PicoLog.Gen | [PicoLogMessage] source generator |
| PicoLog.DI | DI integration |
There are no supported framework assets in this package.
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.7)
- PicoLog.Abs (>= 2026.6.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.6.0 | 91 | 5/14/2026 |