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 paketiBiaLog.Api:BiaLogüstüne kurulu hazır API paketiBiaLog.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,AddBiaLogDashboardbirlikte güvenle çağrılabilirUseBiaLog,MapBiaLogApi,MapBiaLogDashboardtekrar çağrılsa bile no-op davranır- API varsayılan olarak
/bialog/healthendpoint’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:
SqlServerPostgreSqlMySqlSqliteOracleMongoDB
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 |
.NET 9.0
- Elastic.Clients.Elasticsearch (>= 8.17.3)
- Microsoft.Data.SqlClient (>= 6.0.1)
- Microsoft.EntityFrameworkCore (>= 9.0.6)
- Microsoft.EntityFrameworkCore.SqlServer (>= 9.0.6)
- Microsoft.EntityFrameworkCore.Sqlite (>= 9.0.6)
- MongoDB.Driver (>= 3.4.0)
- NLog (>= 5.4.0)
- Npgsql.EntityFrameworkCore.PostgreSQL (>= 9.0.4)
- OpenTelemetry (>= 1.12.0)
- OpenTelemetry.Api (>= 1.12.0)
- Oracle.EntityFrameworkCore (>= 9.23.80)
- Pomelo.EntityFrameworkCore.MySql (>= 9.0.0)
- Serilog (>= 4.2.0)
- Serilog.Sinks.PeriodicBatching (>= 5.0.0)