public void When_Using_Provider_LoRaConsoleLogger_Is_Created()
        {
            using var provider = new LoRaConsoleLoggerProvider(CreateLoggerConfigMonitor());
            var logger = provider.CreateLogger("Test");

            Assert.IsType <LoRaConsoleLogger>(logger);
        }
        public void When_Using_Requesting_Same_Logger_Category_Same_Logger_Is_Used()
        {
            const string category = "Test";

            using var provider = new LoRaConsoleLoggerProvider(CreateLoggerConfigMonitor());
            var logger = provider.CreateLogger(category);

            Assert.Equal(logger, provider.CreateLogger(category));
        }
        public void When_Configuration_Changes_Change_Is_Populated()
        {
            var options = CreateLoggerConfigMonitor();

            options.CurrentValue.LogLevel = LogLevel.Debug;
            using var provider            = new LoRaConsoleLoggerProvider(options);

            Assert.Equal(LogLevel.Debug, provider.LogLevel);

            options.Update(new LoRaLoggerConfiguration {
                LogLevel = LogLevel.Critical
            });

            Assert.Equal(LogLevel.Critical, provider.LogLevel);
        }
 public LoRaConsoleLogger(LoRaConsoleLoggerProvider consoleLoggerProvider)
 {
     _             = consoleLoggerProvider ?? throw new ArgumentNullException(nameof(consoleLoggerProvider));
     this.provider = consoleLoggerProvider;
 }
 public TestLoRaConsoleLogger(Action <string> onWrite, Action <string> onWriteError, LoRaConsoleLoggerProvider provider)
     : base(provider)
 {
     this.onWrite      = onWrite;
     this.onWriteError = onWriteError;
 }