Example #1
0
        private static void Main()
        {
            Environment.SetEnvironmentVariable("ENV_INFO", "test");

            using (var provider = new LykkeConsoleLoggerProvider(new ConsoleLoggerOptions(), ConsoleLogMessageWriter.Instance))
            {
                var logger = new ErrorsHandlingLoggerDecorator(provider.CreateLogger("ComponentName"));

                logger.LogInformation("test");

                for (int i = 0; i < 100; i++)
                {
                    logger.Log(LogLevel.Warning, new EventId(0), GetState(), null,
                               (parameters, exception) => parameters.Message);
                    logger.Log(LogLevel.Critical, new EventId(0), GetState(), new OutOfMemoryException("Good buy"),
                               (parameters, exception) => parameters.Message);
                }

                logger.Log(LogLevel.Trace, new EventId(0), GetState(), null,
                           (parameters, exception) => parameters.Message);
                logger.Log(LogLevel.Debug, new EventId(0), GetState(), null,
                           (parameters, exception) => parameters.Message);
                logger.Log(LogLevel.Information, new EventId(0), GetState(), null,
                           (parameters, exception) => $"A long{Environment.NewLine}message");
                logger.Log(LogLevel.Warning, new EventId(0), GetState(), null,
                           (parameters, exception) => parameters.Message);


                logger.Log(LogLevel.Error, new EventId(0), GetState(),
                           new InvalidOperationException("Something goes wrong"),
                           (parameters, exception) => parameters.Message);
                logger.Log(LogLevel.Critical, new EventId(0), GetState(), new OutOfMemoryException("Good buy"),
                           (parameters, exception) => parameters.Message);


                Thread.Sleep(100);
                using (var scopedProvider = new LykkeConsoleLoggerProvider(new ConsoleLoggerOptions(), ConsoleLogMessageWriter.Instance))
                {
                    var scopedLogger = scopedProvider.CreateLogger("ScopedComponent");
                    scopedLogger.Log(LogLevel.Information, new EventId(0), GetState(), null,
                                     (parameters, exception) => "Begin scope");

                    using (scopedLogger.BeginScope("Hi I am a scope {0}", 1))
                    {
                        scopedLogger.Log(LogLevel.Information, new EventId(0), GetState(), null,
                                         (parameters, exception) => parameters.Message);
                        scopedLogger.Log(LogLevel.Error, new EventId(0), GetState(),
                                         new InvalidOperationException("Something goes wrong"),
                                         (parameters, exception) => parameters.Message);
                        scopedLogger.Log(LogLevel.Critical, new EventId(0), GetState(),
                                         new OutOfMemoryException("Good buy"), (parameters, exception) => parameters.Message);
                    }

                    scopedLogger.Log(LogLevel.Information, new EventId(0), GetState(), null,
                                     (parameters, exception) => "End scope");

                    Console.ReadLine();
                }
            }
        }
Example #2
0
        public ConsoleOutputTest()
        {
            _console = Substitute.For <IConsole>();

            _provider = new LykkeConsoleLoggerProvider(new ConsoleLoggerOptions(), new ConsoleLogMessageWriter(_console));

            _logger = _provider.CreateLogger("MyLogger");
        }
Example #3
0
        public void ProviderShouldReturnCorrectLogger()
        {
            using (var provider = new LykkeConsoleLoggerProvider(new ConsoleLoggerOptions(), Substitute.For <IConsoleLogMessageWriter>()))
            {
                var logger = provider.CreateLogger("SupperLogger");

                Assert.IsType <LykkeConsoleLogger>(logger);
            }
        }