Files
LogViewerControl/CSharp/Applications/AvaloniaLog4NetNoDI/Extensions/ServiceExtension.cs
T
Matthias Heil 6bed9b284c initial commit
2026-04-04 13:30:13 +02:00

30 lines
997 B
C#

using AvaloniaLog4NetNoDI.DataStores;
using LogViewer.Core;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System;
using Log4Net.Appender.LogView.Core;
namespace AvaloniaLog4NetNoDI.Extensions;
public static class ServiceExtension
{
public static ILoggingBuilder AddLog4NetNoDI(this ILoggingBuilder builder, IConfiguration config)
{
// We need to use a shared instance of the DataStore to pass to the LogViewerControl
builder.Services.AddSingleton(MainControlsDataStore.DataStore);
// call core Log4Net ServiceExtension initializer
builder.AddLog4Net(config);
return builder;
}
public static ILoggingBuilder AddLog4NetNoDI(this ILoggingBuilder builder, IConfiguration config, Action<DataStoreLoggerConfiguration> configure)
{
builder.AddLog4NetNoDI(config);
builder.Services.Configure(configure);
return builder;
}
}