feat(logManagement): implement log management service

This commit is contained in:
shiyu
2025-06-06 11:39:39 +08:00
parent a73752bcc8
commit a95651b04a
34 changed files with 1644 additions and 108 deletions

View File

@@ -0,0 +1,21 @@
using Foxel.Services.Logging;
namespace Foxel.Extensions;
public static class LoggingExtensions
{
public static ILoggingBuilder AddDatabaseLogging(this ILoggingBuilder builder, Action<DatabaseLoggerConfiguration>? configure = null)
{
var config = new DatabaseLoggerConfiguration();
configure?.Invoke(config);
builder.Services.Configure<DatabaseLoggerConfiguration>(options =>
{
options.MinLevel = config.MinLevel;
options.Enabled = config.Enabled;
});
builder.Services.AddSingleton<ILoggerProvider, DatabaseLoggerProvider>();
return builder;
}
}

View File

@@ -29,6 +29,7 @@ public static class ServiceCollectionExtensions
services.AddSingleton<IAlbumService, AlbumService>();
services.AddSingleton<IUserManagementService, UserManagementService>();
services.AddSingleton<IPictureManagementService, PictureManagementService>();
services.AddSingleton<ILogManagementService, LogManagementService>();
services.AddSingleton<IBackgroundTaskQueue, BackgroundTaskQueue>();
services.AddHostedService<QueuedHostedService>();
services.AddSingleton<LocalStorageProvider>();