ClientLogs.Client
1.0.0
The owner has unlisted this package.
This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package ClientLogs.Client --version 1.0.0
NuGet\Install-Package ClientLogs.Client -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="ClientLogs.Client" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ClientLogs.Client" Version="1.0.0" />
<PackageReference Include="ClientLogs.Client" />
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 ClientLogs.Client --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ClientLogs.Client, 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.
#:package ClientLogs.Client@1.0.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=ClientLogs.Client&version=1.0.0
#tool nuget:?package=ClientLogs.Client&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
ClientLogs.Client
Lightweight .NET SDK that buffers API logs in-memory and ships them in batches to a LogPanel ingest endpoint.
Customers never need RabbitMQ credentials — only HTTPS + an API key.
Installation
dotnet add package ClientLogs.Client
Quick Start
// Program.cs
builder.Services.AddClientLogIngest(options =>
{
options.BaseAddress = "https://your-log-panel.example.com";
options.AuthName = "your-api-name";
options.AuthPassword = "your-api-password";
options.CollectionName = "my_app_logs"; // optional
});
app.UseApiClientLogging(); // auto-captures every HTTP request
Manual logging
public class OrderService(IClientLogClient logs)
{
public async Task CreateOrder(Order order)
{
// Fire-and-forget (batched → /bulk)
logs.Enqueue(new ClientLogEntry
{
Message = $"Order created: {order.Id}",
LogLevel = ClientLogLevel.Info,
LogSourceType = ClientLogSourceType.Api
});
// Immediate + awaitable (→ /client-logs)
await logs.SendAsync(new ClientLogEntry
{
Message = $"Payment failed: {order.Id}",
LogLevel = ClientLogLevel.Error,
LogSourceType = ClientLogSourceType.Api
});
}
}
How it works
UseApiClientLogging()captures every incoming HTTP request and callsEnqueueinternally.- A background service drains the in-memory channel every 200 logs or 2 seconds (whichever comes first) and POSTs to
/api/client-logs/bulk. - Auth is handled automatically: SDK logs in with
AuthName/AuthPassword, caches the JWT, and refreshes on expiry or 401. - On graceful shutdown, remaining buffered logs are flushed before the process exits.
Options
| Property | Default | Description |
|---|---|---|
BaseAddress |
(required) | LogPanel server base URL |
AuthName |
(required) | API credential name |
AuthPassword |
(required) | API credential password |
CollectionName |
null |
Target log collection (queue) |
BatchSize |
200 |
Max logs per HTTP request |
FlushInterval |
00:00:02 |
Max wait before flushing |
QueueCapacity |
10000 |
In-memory channel capacity |
HttpTimeout |
00:00:10 |
HTTP request timeout |
AppVersionName |
null |
App version tag on every log |
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. 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 was computed. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net9.0
- No dependencies.
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 |
|---|