46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using Microsoft.Extensions.DependencyInjection;
|
|
using Microsoft.Extensions.Logging;
|
|
using System;
|
|
using System.Windows;
|
|
|
|
namespace OrbisLibraryManager
|
|
{
|
|
/// <summary>
|
|
/// Interaction logic for App.xaml
|
|
/// </summary>
|
|
public partial class App : Application
|
|
{
|
|
private ServiceProvider _serviceProvider;
|
|
|
|
public App()
|
|
{
|
|
IServiceCollection services = new ServiceCollection();
|
|
services.AddSingleton<MainWindow>();
|
|
|
|
services.AddLogging(builder =>
|
|
{
|
|
builder.AddSimpleConsole(options =>
|
|
{
|
|
options.IncludeScopes = false;
|
|
options.SingleLine = true;
|
|
options.TimestampFormat = "HH:mm:ss ";
|
|
});
|
|
});
|
|
|
|
_serviceProvider = services.BuildServiceProvider();
|
|
}
|
|
|
|
protected override void OnStartup(StartupEventArgs e)
|
|
{
|
|
var logger = _serviceProvider.GetService<ILoggerFactory>()
|
|
.AddFile(Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + @"\Orbis Suite\Logging\OrbisLibraryManagerLog.txt")
|
|
.CreateLogger<MainWindow>();
|
|
|
|
var mainWindow = _serviceProvider.GetRequiredService<MainWindow>();
|
|
mainWindow.Show(logger);
|
|
|
|
base.OnStartup(e);
|
|
}
|
|
}
|
|
}
|