ZipLogger.Extensions.Logging
0.6.0
dotnet add package ZipLogger.Extensions.Logging --version 0.6.0
NuGet\Install-Package ZipLogger.Extensions.Logging -Version 0.6.0
<PackageReference Include="ZipLogger.Extensions.Logging" Version="0.6.0" />
<PackageVersion Include="ZipLogger.Extensions.Logging" Version="0.6.0" />
<PackageReference Include="ZipLogger.Extensions.Logging" />
paket add ZipLogger.Extensions.Logging --version 0.6.0
#r "nuget: ZipLogger.Extensions.Logging, 0.6.0"
#:package ZipLogger.Extensions.Logging@0.6.0
#addin nuget:?package=ZipLogger.Extensions.Logging&version=0.6.0
#tool nuget:?package=ZipLogger.Extensions.Logging&version=0.6.0
ZipLogger.Extensions.Logging
Microsoft.Extensions.Logging provider for ZipLogger —
log management and product analytics (search, events, dashboards, alerts, AI analysis, git regression attribution). Hosted at ziplogger.ai, or run your own.
Your application keeps logging through the standard ILogger abstraction; this provider ships
entries to your ZipLogger server in the background.
Usage
builder.Logging.AddZipLogger(options =>
{
options.Endpoint = "https://app.ziplogger.ai";
options.ApiKey = "zk_..."; // Settings → API keys in the ZipLogger UI
});
Product-analytics events
AddZipLogger also registers IEventTracker, so events are injectable anywhere — no second
client to construct, and no second queue or connection: logging and events share one shipper.
public sealed class CheckoutService(IEventTracker analytics)
{
public async Task PayAsync(Cart cart)
{
analytics.Track("checkout_started", new { amount = cart.Total }, userId: cart.UserId);
// ...
}
}
Identify(userId, anonymousId) links a visitor's pre-login events to their account. Both calls are
fire-and-forget: they never block your request path and never throw.
Or from appsettings.json (call builder.Logging.AddZipLogger();):
{
"Logging": {
"ZipLogger": {
"Endpoint": "https://app.ziplogger.ai",
"ApiKey": "zk_...",
"LogLevel": { "Default": "Information" }
}
}
}
Then log as usual — structured values, scopes, and exceptions all flow through:
logger.LogWarning("Payment {Status} for {Customer}", "declined", "acme");
logger.LogError(ex, "Sync failed"); // exception → stackTrace (feeds regression attribution)
Behavior
- Never blocks, never throws — bounded in-memory queue + background batching (NDJSON over HTTP).
- Drop over grow — under extreme backpressure entries are dropped and counted, memory stays bounded.
- Retry with exponential backoff + jitter, honoring
429 Retry-After. - Automatic enrichment — source (assembly name), release (informational version),
commit SHA (SourceLink suffix or
GIT_COMMIT/COMMIT_SHA), environment, machine name. - Graceful shutdown — buffered entries flush on dispose (bounded by
ShutdownTimeout).
Prefer Serilog? Use ZipLogger.Serilog. Already on OpenTelemetry? ZipLogger also accepts OTLP/HTTP logs directly — see the integration docs.
Need a ZipLogger server? Sign up free at ziplogger.ai — the free tier covers 1,000 logs/day. Full documentation: ziplogger.ai/docs.html
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Microsoft.Extensions.Logging.Configuration (>= 8.0.1)
- ZipLogger.Client (>= 0.6.0)
-
net8.0
- Microsoft.Extensions.Logging.Configuration (>= 8.0.1)
- ZipLogger.Client (>= 0.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.
Package metadata only: added the ZipLogger icon, pointed the project link at https://ziplogger.ai/, and refreshed the README links. No API or behavior changes.