namespace SimulatorCore.Logging
public class SimulatorLogging
private static ILoggerProvider _logger;
private static Lazy<ILoggerProvider> _defaultLogger = new Lazy<ILoggerProvider>(() => new DefaultLoggerProvider());
public static ILoggerProvider Logger
Logger = _defaultLogger.Value;
throw new InvalidOperationException("Cant init logger more than once");
public static IExceptionLogger GetInstance(Type type)
return _logger.GetInstance(type);
public static IExceptionLogger GetInstance(string name)
return _logger.GetInstance(name);
public interface ILoggerProvider
IExceptionLogger GetInstance(Type type);
IExceptionLogger GetInstance(string name);
public interface IExceptionLogger
public class DefaultLoggerProvider : ILoggerProvider
public IExceptionLogger GetInstance(Type type) => null;
public IExceptionLogger GetInstance(string name) => null;
public class TestLoggerProvider : ILoggerProvider
public IExceptionLogger GetInstance(Type type) => null;
public IExceptionLogger GetInstance(string name) => null;