ArgusLogs.UI 1.0.11

dotnet add package ArgusLogs.UI --version 1.0.11
                    
NuGet\Install-Package ArgusLogs.UI -Version 1.0.11
                    
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="ArgusLogs.UI" Version="1.0.11" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ArgusLogs.UI" Version="1.0.11" />
                    
Directory.Packages.props
<PackageReference Include="ArgusLogs.UI" />
                    
Project file
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 ArgusLogs.UI --version 1.0.11
                    
#r "nuget: ArgusLogs.UI, 1.0.11"
                    
#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 ArgusLogs.UI@1.0.11
                    
#: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=ArgusLogs.UI&version=1.0.11
                    
Install as a Cake Addin
#tool nuget:?package=ArgusLogs.UI&version=1.0.11
                    
Install as a Cake Tool

ArgusLogs.UI

A zero-dependency, high-performance, embedded log-viewer middleware package for ASP.NET Core with multi-target support across .NET 5.0, 6.0, 7.0, 8.0, 9.0, and 10.0.

Key Features

  • 🚀 Zero External Infrastructure: Streams local log files in reverse order without requiring ClickHouse, PostgreSQL, or external databases.
  • 📦 Embedded UI: 100% self-contained dark-mode dashboard (zero npm, zero CDN dependencies).
  • 🔒 ArgusLogs.Core Integration: Auto-discovers and validates license keys (ECDsa NIST P-256) and configuration (LogFilePath, LogFileNameFormat, Format, UseShortKeys).
  • O(1) Reverse File Streaming: 64KB seek chunks from EOF backward to display the latest logs first with minimal memory overhead.
  • 🛠️ SwaggerUI-Style DX: Single-line middleware registration via app.UseArgusUI().

Quickstart

Minimal APIs (.NET 6–10)

using ArgusLogs.UI;

var builder = WebApplication.CreateBuilder(args);

// Register Core Logging
builder.Services.AddArgusLogging(options =>
{
    options.LicenseKey = "YOUR-ARGUS-LICENSE-KEY";
});

// Optional: Register UI Services
builder.Services.AddArgusUI();

var app = builder.Build();

// Enable Embedded Log Viewer Dashboard
app.UseArgusUI(options =>
{
    options.RoutePrefix = "/argus-logs";
});

app.Run();

Navigate to http://localhost:<port>/argus-logs to inspect live structured logs.

Security

Protect the embedded dashboard in production with the built-in login page or host-app authorization filters.

Built-in login page

app.UseArgusUI(options =>
{
    options.RoutePrefix = "/argus-logs";
    options.RequireLogin("admin", "change-me-in-production");
    options.SessionDuration = TimeSpan.FromHours(8);
});

When RequireAuthentication is enabled:

  • Unauthenticated visitors are redirected to /argus-logs/login
  • API routes return 401 Unauthorized until a session cookie is issued
  • Sessions are stored in an HttpOnly cookie signed with HMAC-SHA256

ASP.NET Core authentication integration

If your app already authenticates users, add a filter instead of (or in addition to) the built-in login:

using ArgusLogs.UI.Options;

app.UseArgusUI(options =>
{
    options.RoutePrefix = "/argus-logs";
    options.AddAuthorizationFilter(new AspNetCoreUserAuthorizationFilter());
});

Place UseArgusUI after UseAuthentication() so HttpContext.User is populated.

License plan limits (Free tier)

ArgusLogs.UI enforces plan-based caps automatically:

Limit Free / Community Pro Enterprise
TieredStorage RetentionDays (max) 7 90 365
TieredStorage BatchSize (max) 5,000 50,000 200,000
Concurrent /argus-logs viewers 1 10 50
Log rows per API query 150 500 2,000

When TieredStorage is registered, AddArgusUI() clamps RetentionDays and BatchSize to the licensed maximum. Anonymous viewer cookies receive 429 Too Many Requests when the concurrent limit is exceeded. Authenticated sign-in replaces the least-recently-active session so a new login can displace an existing viewer instead of being blocked.

GET /argus-logs/api/license-limits

Local-only access

options.AddAuthorizationFilter(new LocalRequestsOnlyAuthorizationFilter());
Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  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 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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net10.0

    • No dependencies.
  • net5.0

    • No dependencies.
  • net6.0

    • No dependencies.
  • net7.0

    • No dependencies.
  • net8.0

    • No dependencies.
  • 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
1.0.11 85 9/12/2026
1.0.11-alpha.2608292142 70 8/29/2026
1.0.11-alpha.2608291853 60 8/29/2026

Multi-target package: net5.0, net6.0, net7.0, net8.0, net9.0, net10.0. One version for all TFMs. Docs: https://arguslogs.com/