- LoggerInitializer doesn't need to be disposed, log is disposing loggers

master
Simon G 5 years ago
parent 5e97f3d1f1
commit b4aa1d6ed6
  1. 4
      Lib.Logging/Loggers/Interfaces/ILoggerInitializer.cs
  2. 20
      Lib.Logging/Loggers/LoggerInitializer.cs
  3. 10
      Mystify/App.axaml.cs

@ -2,11 +2,9 @@
// Created: 2020-09-14 // Created: 2020-09-14
// Copyright(c) 2020 SimonG. All Rights Reserved. // Copyright(c) 2020 SimonG. All Rights Reserved.
using System;
namespace Lib.Logging.Loggers.Interfaces namespace Lib.Logging.Loggers.Interfaces
{ {
public interface ILoggerInitializer : IAsyncDisposable public interface ILoggerInitializer
{ {
bool Init(); bool Init();
} }

@ -20,9 +20,6 @@ namespace Lib.Logging.Loggers
private readonly IFileLoggerFactory _fileLoggerFactory; private readonly IFileLoggerFactory _fileLoggerFactory;
private readonly IConsoleLoggerFactory _consoleLoggerFactory; private readonly IConsoleLoggerFactory _consoleLoggerFactory;
private IFileLogger? _fileLogger;
private IConsoleLogger? _consoleLogger;
public LoggerInitializer(ILog log, IFileLoggerFactory fileLoggerFactory, IConsoleLoggerFactory consoleLoggerFactory) public LoggerInitializer(ILog log, IFileLoggerFactory fileLoggerFactory, IConsoleLoggerFactory consoleLoggerFactory)
{ {
_log = log; _log = log;
@ -32,22 +29,13 @@ namespace Lib.Logging.Loggers
public bool Init() public bool Init()
{ {
_fileLogger = _fileLoggerFactory.Create(_logFilePath, _logFileName); IFileLogger fileLogger = _fileLoggerFactory.Create(_logFilePath, _logFileName);
_log.AddLogger(_fileLogger); _log.AddLogger(fileLogger);
_consoleLogger = _consoleLoggerFactory.Create(); IConsoleLogger consoleLogger = _consoleLoggerFactory.Create();
_log.AddLogger(_consoleLogger); _log.AddLogger(consoleLogger);
return true; return true;
} }
public async ValueTask DisposeAsync()
{
if (_fileLogger != null)
await _fileLogger.DisposeAsync();
if (_consoleLogger != null)
await _consoleLogger.DisposeAsync();
}
} }
} }

@ -25,10 +25,7 @@ namespace Mystify
private IIocContainer? _kernel; private IIocContainer? _kernel;
private ILog? _log; private ILog? _log;
private ILoggerInitializer? _loggerInitializer;
private IProcessManager? _processManager; private IProcessManager? _processManager;
private INotifyIcon? _notifyIcon; private INotifyIcon? _notifyIcon;
private MainModel? _mainModel; private MainModel? _mainModel;
@ -48,8 +45,8 @@ namespace Mystify
_log = logFactory.Create(); _log = logFactory.Create();
ILoggerInitializerFactory loggerInitializerFactory = _kernel.Resolve<ILoggerInitializerFactory>(); ILoggerInitializerFactory loggerInitializerFactory = _kernel.Resolve<ILoggerInitializerFactory>();
_loggerInitializer = loggerInitializerFactory.Create(_log); ILoggerInitializer loggerInitializer = loggerInitializerFactory.Create(_log);
_loggerInitializer.Init(); loggerInitializer.Init();
await _log.WriteLogHeader<App>(); await _log.WriteLogHeader<App>();
@ -103,9 +100,6 @@ namespace Mystify
if (_log != null) if (_log != null)
await _log.DisposeAsync(); await _log.DisposeAsync();
if (_loggerInitializer != null)
await _loggerInitializer.DisposeAsync();
_kernel?.Dispose(); _kernel?.Dispose();
} }
} }

Loading…
Cancel
Save