public ExternalLoggingFrameworkObserver(IMinerLogListener logListener) { if (logListener == null) { throw new ArgumentNullException(nameof(logListener)); } logListener.LogMessageReceived += ReceiveLogMessage; }
public TrexMiner(ILogger <TrexMiner> logger, IOptions <Settings> settings, ITrexWebClient webClient, IMinerProcessFactory processFactory, IMinerLogListener listener, IInternalLoggingFrameworkObserver loggingFrameworkObserver) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _settings = settings.Value ?? throw new ArgumentNullException(nameof(settings)); _webClient = webClient ?? throw new ArgumentNullException(nameof(webClient)); _processFactory = processFactory ?? throw new ArgumentNullException(nameof(processFactory)); _settings.ExeFileName = _settings.ExeFileName ?? string.Empty; _settings.ExeLocation = _settings.ExeLocation ?? string.Empty; _settings.ExeArguments = _settings.ExeArguments ?? string.Empty; _listener = listener ?? throw new ArgumentNullException(nameof(listener)); loggingFrameworkObserver = loggingFrameworkObserver ?? throw new ArgumentNullException(nameof(loggingFrameworkObserver)); //i dont know a better spot to do this wire up which is frustrating. //it needs to happen after all dependencies are registered and before background services start //I think the only way I can ensure that is to have it execute as part of an object I know //is resolved when the miner is resolved _listener.LogMessageReceived += loggingFrameworkObserver.ReceiveLogMessage; StateHandler = new MinerStateHandler(this); StateHandler.TransitionToStateAsync(new UnknownMinerState()); }
public MinerUpdateAvailableObserver(ILogger <MinerUpdateAvailableObserver> logger, IMinerLogListener logListener) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); logListener = logListener ?? throw new ArgumentNullException(nameof(logListener)); logListener.LogMessageReceived += ReceiveLogMessage; }
public PowerLogObserver(ILogger <PowerLogObserver> logger, IOptions <Settings> options, IMinerLogListener logListener) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); logListener = logListener ?? throw new ArgumentNullException(nameof(logListener)); logListener.LogMessageReceived += ReceiveLogMessage; _settings = options.Value; _movingStatistics = new MovingStatistics(_settings.StatHistorySize); }
public CrashCountLogObserver(ILogger <CrashCountLogObserver> logger, IMinerLogListener logListener) { _logger = logger ?? throw new ArgumentNullException(nameof(logger)); logListener = logListener ?? throw new ArgumentNullException(nameof(logListener)); logListener.LogMessageReceived += ReceiveLogMessage; }