BiaLog 2.0.4

BiaLog

Enterprise-grade centralized logging for .NET 9 applications.

BiaLog artık üç ayrı tüketim yüzeyi sunar:

  • BiaLog: temel logging/runtime paketi
  • BiaLog.Api: BiaLog üstüne kurulu hazır API paketi
  • BiaLog.Dashboard: BiaLog üstüne kurulu hazır Razor Pages dashboard paketi

BiaLog.Api ve BiaLog.Dashboard birbirine bağımlı değildir. İkisi de yalnızca BiaLog üstüne kurulur.

Package Hierarchy

BiaLog
├── BiaLog.Api
└── BiaLog.Dashboard

Install

Core only

dotnet add package BiaLog

API only

dotnet add package BiaLog.Api

Dashboard only

dotnet add package BiaLog.Dashboard

Runtime Dependencies

BiaLog paketi mevcut implementation graph için gereken runtime bağımlılıklarını doğrudan taşır. Tüketicilerin SQL Server, PostgreSQL, MySQL, SQLite, Oracle, MongoDB, OpenTelemetry, Serilog, NLog veya Elasticsearch paketlerini ayrıca takip etmesi gerekmemelidir.

Usage

1. Base package

using BiaLog;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddBiaLog(builder.Configuration);

var app = builder.Build();

app.UseBiaLog();
app.MapHealthChecks("/health");

app.Run();

2. API package

using BiaLog.Api;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddBiaLogApi(builder.Configuration);

var app = builder.Build();

app.MapBiaLogApi();

app.Run();

Varsayılan API route’ları:

  • /bialog/api/...
  • /bialog/health
  • /bialog/loghub
  • /bialog/auth

İsterseniz prefix’leri override edebilirsiniz:

builder.Services.AddBiaLogApi(builder.Configuration, options =>
{
    options.RoutePrefix = string.Empty;
    options.AuthRoutePrefix = "bia-auth";
    options.HealthPath = "/health";
    options.HubPath = "/loghub";
});

3. Dashboard package

using BiaLog.Dashboard;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddBiaLogDashboard(builder.Configuration);

var app = builder.Build();

app.MapBiaLogDashboard();

app.Run();

Varsayılan dashboard route’u /bialog/dashboard kökü altındadır. Auth route prefix’i ayrıca ayarlanabilir.

4. Composite host

BiaLog, BiaLog.Api ve BiaLog.Dashboard aynı uygulamada birlikte kullanılabilir. Aşağıdaki kombinasyon resmi olarak desteklenir:

using BiaLog;
using BiaLog.Api;
using BiaLog.Dashboard;

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddBiaLog(builder.Configuration);
builder.Services.AddBiaLogApi(builder.Configuration);
builder.Services.AddBiaLogDashboard(builder.Configuration);

var app = builder.Build();

app.UseBiaLog();
app.MapBiaLogApi();
app.MapBiaLogDashboard();
app.MapHealthChecks("/health");

app.Run();

Bu senaryoda:

  • AddBiaLog, AddBiaLogApi, AddBiaLogDashboard birlikte güvenle çağrılabilir
  • UseBiaLog, MapBiaLogApi, MapBiaLogDashboard tekrar çağrılsa bile no-op davranır
  • API varsayılan olarak /bialog/health endpoint’ini ekler
  • MapBiaLogDashboard() health endpoint eklemez
  • manuel app.MapHealthChecks("/health") ile API health endpoint’i birlikte kullanılabilir

Configuration

Base package BiaLog bölümü:

{
  "ConnectionStrings": {
    "DefaultConnectionString": "Server=localhost;Database=AppDb;Trusted_Connection=true;TrustServerCertificate=true;"
  },
  "BiaLog": {
    "Provider": "SqlServer",
    "DatabaseName": "BiaLog",
    "ApplicationName": "MyApp",
    "Environment": "Production",
    "DefaultTenantId": "default",
    "EnableRequestLogging": true,
    "EnableResponseLogging": false,
    "EnableAsyncQueue": true,
    "EnableRetentionService": true,
    "EnableAlertService": false,
    "EnableElastic": false,
    "EnableOpenTelemetry": false
  }
}

API paketi için opsiyonel ek bölüm:

{
  "BiaLogApi": {
    "RoutePrefix": "/bialog",
    "AuthRoutePrefix": "/bialog/auth",
    "HealthPath": "/bialog/health",
    "HubPath": "/bialog/loghub",
    "AllowedOrigins": [ "https://localhost:7124" ]
  }
}

Dashboard paketi için opsiyonel ek bölüm:

{
  "BiaLogDashboard": {
    "RoutePrefix": "/bialog/dashboard",
    "AuthRoutePrefix": "/bialog/auth",
    "AuthorizationPolicy": "DashboardAccess"
  }
}

Ortak auth ayarları BiaAuth altından fallback olarak alınır.

Supported Providers

BiaLogOptions.Provider veya BiaLog:Provider şu değerlerden biri olabilir:

  • SqlServer
  • PostgreSql
  • MySql
  • Sqlite
  • Oracle
  • MongoDB

Solution Layout

BiaLog.slnx
├── src/BiaLog.Package               # Public base package (PackageId: BiaLog)
├── src/BiaLog.Api.Package           # Public API package (PackageId: BiaLog.Api)
├── src/BiaLog.Dashboard.Package     # Public dashboard package (PackageId: BiaLog.Dashboard)
├── src/BiaLog.Core                  # Models, interfaces, options, enums
├── src/BiaLog.Providers             # EF Core + MongoDB provider implementations
├── src/BiaLog.Middleware            # HTTP pipeline middleware
├── src/BiaLog.Services              # Core services
├── src/BiaLog.BackgroundServices    # Hosted services
├── src/BiaLog.Integrations          # Elastic, Serilog, NLog, OpenTelemetry, health checks
├── src/BiaLog.Api                   # Thin runnable API host/sample
├── src/BiaLog.Dashboard             # Thin runnable dashboard host/sample
├── samples/BiaLog.Sample            # Minimal sample app
└── tests/BiaLog.Tests               # Test project

Build, Test, Pack

dotnet restore BiaLog.slnx
dotnet build BiaLog.slnx
dotnet test BiaLog.slnx
dotnet pack src/BiaLog.Package/BiaLog.Package.csproj -c Release -o ./artifacts/packages
dotnet pack src/BiaLog.Api.Package/BiaLog.Api.Package.csproj -c Release -o ./artifacts/packages
dotnet pack src/BiaLog.Dashboard.Package/BiaLog.Dashboard.Package.csproj -c Release -o ./artifacts/packages

Local Validation

API smoke test:

dotnet new web -n BiaLog.Api.Consumer -o /tmp/BiaLog.Api.Consumer --framework net9.0
dotnet add /tmp/BiaLog.Api.Consumer/BiaLog.Api.Consumer.csproj package BiaLog.Api --source ./artifacts/packages

Dashboard smoke test:

dotnet new web -n BiaLog.Dashboard.Consumer -o /tmp/BiaLog.Dashboard.Consumer --framework net9.0
dotnet add /tmp/BiaLog.Dashboard.Consumer/BiaLog.Dashboard.Consumer.csproj package BiaLog.Dashboard --source ./artifacts/packages

Ardından ilgili Program.cs dosyasında yalnızca AddBiaLogApi + MapBiaLogApi veya AddBiaLogDashboard + MapBiaLogDashboard çağrısı yapıp dotnet build çalıştırın.

License

Proprietary - Bia Yazilim

Showing the top 20 packages that depend on BiaLog.

Packages Downloads
Bia.Log
Package Description
1
BiaLog.Dashboard
Reusable Razor Pages dashboard package for BiaLog. Includes UI pages, static assets and Bia.Auth integration on top of the BiaLog package.
1
BiaLog.Api
Reusable ASP.NET Core API package for BiaLog. Includes controllers, SignalR hub, OpenAPI wiring and Bia.Auth integration on top of the BiaLog package.
1
BiaLog.Api
Reusable ASP.NET Core API package for BiaLog. Includes controllers, SignalR hub, OpenAPI wiring and Bia.Auth integration on top of the BiaLog package.
0
BiaLog.Dashboard
Reusable Razor Pages dashboard package for BiaLog. Includes UI pages, static assets and Bia.Auth integration on top of the BiaLog package.
0

Version Downloads Last updated
2.0.4 1 04/13/2026
2.0.3 1 04/13/2026
2.0.2 1 04/13/2026