public ILogger CreateLogger(string categoryName)
        {
            ConsoleLogger logger = (ConsoleLogger)_innerProvider.CreateLogger(categoryName);

            logger.Console = new LoggerConsole();
            return(logger);
        }
Exemple #2
0
        private DynamicConsoleLogger CreateLoggerImplementation(string name)
        {
            var logger = _delegate.CreateLogger(name) as ConsoleLogger;

            logger.Filter = GetFilter(name);
            return(new DynamicConsoleLogger(logger, _messageProcessors));
        }
Exemple #3
0
        public static int Main(string[] args)
        {
            var loggerProvider = new ConsoleLoggerProvider((s, level) => true, false);
            var source         = new CancellationTokenSource();

            var logger = new ConsoleMessageHandler();

            var syslogServer = new UdpSyslogServer( // DI?
                new LoggerRawMessageHandler(
                    new ParserRawMessageHandler(
                        new RegexSyslogMessageParser(TimeSpan.FromSeconds(1)),
                        logger),
                    loggerProvider.CreateLogger(nameof(LoggerRawMessageHandler)))
                );

            var exitKeyTask = PressEscToExit(logger);

            try
            {
                var syslogServerTask = syslogServer.Start(source.Token);
                Task.WaitAny(syslogServerTask, exitKeyTask);

                source.Cancel();
                syslogServerTask.Wait(TimeSpan.FromSeconds(3)); // throws errors from syslogServer, if any
                return(0);
            }
            catch (AggregateException aggEx)
            {
                if (aggEx.InnerExceptions.Any(p => p is OperationCanceledException))
                {
                    return(0);
                }
                throw;
            }
        }
Exemple #4
0
        public void Test_Create_ConsoleProvider_With_Level()
        {
            var provider = new ConsoleLoggerProvider(LogLevel.Debug);
            var logger   = provider.CreateLogger(this.GetType().FullName);

            Assert.False(logger.IsEnabled(LogLevel.Trace));
        }
Exemple #5
0
        /// <summary>
        /// Creates a logger instance with given prefix.
        /// </summary>
        /// <param name="loggerFactory">Factory to create loggers.</param>
        /// <param name="categoryName">Category name for messages produced by the logger.</param>
        /// <param name="prefix">String to be put in front of each log of the newly created logger.</param>
        public PrefixLogger(ILoggerFactory loggerFactory, string categoryName, string prefix = null)
        {
            this.logger = NLog.LogManager.GetLogger(categoryName);
            var consoleLoggerProvider = new ConsoleLoggerProvider(loggerFactory.GetConsoleSettings());

            this.consoleLogger = consoleLoggerProvider.CreateLogger(categoryName);

            this.prefix      = prefix != null ? prefix : "";
            this.wrapperType = typeof(PrefixLogger);
        }
        public void ConsoleLogger_Settings_DisableColors()
        {
            var settings = new ConsoleLoggerSettings()
            {
                DisableColors = true
            };

            var consoleLoggerProvider = new ConsoleLoggerProvider(settings);
            var logger = (ConsoleLogger)consoleLoggerProvider.CreateLogger("Test");

            Assert.True(logger.DisableColors);
        }
Exemple #7
0
        public void ConsoleLoggerOptions_TimeStampFormat_IsReloaded()
        {
            // Arrange
            var monitor = new TestOptionsMonitor(new ConsoleLoggerOptions()
            {
                FormatterName = "NonExistentFormatter"
            });
            var loggerProvider = new ConsoleLoggerProvider(monitor, ConsoleLoggerTest.GetFormatters());
            var logger         = (ConsoleLogger)loggerProvider.CreateLogger("Name");

            // Act & Assert
            Assert.Equal("NonExistentFormatter", logger.Options.FormatterName);
            Assert.Equal(ConsoleFormatterNames.Simple, logger.Formatter.Name);
        }
Exemple #8
0
        public void Create_ConsoleProvider_With_Level()
        {
            var provider = new ConsoleLoggerProvider(LogLevel.Debug);

            var logger = provider.CreateLogger(this.GetType().FullName);

            Assert.False(logger.IsEnabled(LogLevel.Trace));

            Assert.True(logger.IsEnabled(LogLevel.Debug));
            Assert.True(logger.IsEnabled(LogLevel.Info));
            Assert.True(logger.IsEnabled(LogLevel.Warn));
            Assert.True(logger.IsEnabled(LogLevel.Error));
            Assert.True(logger.IsEnabled(LogLevel.Fatal));
        }
Exemple #9
0
        public void ConsoleLoggerOptions_LogAsErrorLevel_IsAppliedToLoggers()
        {
            // Arrange
            var monitor        = new TestOptionsMonitor(new ConsoleLoggerOptions());
            var loggerProvider = new ConsoleLoggerProvider(monitor);
            var logger         = (ConsoleLogger)loggerProvider.CreateLogger("Name");

            // Act & Assert
            Assert.Equal(LogLevel.None, logger.Options.LogToStandardErrorThreshold);
            monitor.Set(new ConsoleLoggerOptions()
            {
                LogToStandardErrorThreshold = LogLevel.Error
            });
            Assert.Equal(LogLevel.Error, logger.Options.LogToStandardErrorThreshold);
        }
Exemple #10
0
        public void ConsoleLoggerOptions_DisableColors_IsReloaded()
        {
            // Arrange
            var monitor        = new TestOptionsMonitor(new ConsoleLoggerOptions());
            var loggerProvider = new ConsoleLoggerProvider(monitor);
            var logger         = (ConsoleLogger)loggerProvider.CreateLogger("Name");

            // Act & Assert
            Assert.Null(logger.Options.TimestampFormat);
            monitor.Set(new ConsoleLoggerOptions()
            {
                TimestampFormat = "yyyyMMddHHmmss"
            });
            Assert.Equal("yyyyMMddHHmmss", logger.Options.TimestampFormat);
        }
        private static async Task <int> RunServer(ServerOptions options, CancellationToken cancel)
        {
            ILoggerProvider cp = new ConsoleLoggerProvider((s, level) => level >= (options.Verbose ? LogLevel.Debug : LogLevel.Information), false);

            var serverLogger = cp.CreateLogger($"Server[{options.Host}:{options.Port}]");

            var socket = new Socket(SocketType.Stream, ProtocolType.Tcp)
            {
                Blocking = false
            };

            try
            {
                serverLogger.LogDebug("Binding to {0}:{1}", options.Host, options.Port);
                socket.Bind(new IPEndPoint(IPAddress.Parse(options.Host), options.Port));
                socket.Listen(20);
                serverLogger.LogInformation("Successfully bound to {0}:{1}", options.Host, options.Port);
                while (!cancel.IsCancellationRequested)
                {
                    var clientSocket = await socket.AcceptAsync();

                    serverLogger.LogInformation("Accepted connection from {0}", clientSocket.RemoteEndPoint.ToString());
                }
                serverLogger.LogInformation("Received cancellation signal - shutting down.");
                return(0);
            }
            catch (Exception ex)
            {
                serverLogger.LogError(ex, "received error during processing.");
                return(-1);
            }
            finally
            {
                try
                {
                    socket.Close(5);
                    socket.Dispose();
                    serverLogger.LogInformation("Shutdown complete.");
                    cp.Dispose();
                }
                catch
                {
                    // don't care about shutdown exceptions
                }
            }
        }
Exemple #12
0
        public void ConsoleLoggerOptions_IncludeScopes_IsAppliedToLoggers()
        {
            // Arrange
            var monitor = new TestOptionsMonitor(new ConsoleLoggerOptions()
            {
                IncludeScopes = true
            });
            var loggerProvider = new ConsoleLoggerProvider(monitor);
            var logger         = (ConsoleLogger)loggerProvider.CreateLogger("Name");

            // Act & Assert
            Assert.True(logger.Options.IncludeScopes);
            monitor.Set(new ConsoleLoggerOptions()
            {
                IncludeScopes = false
            });
            Assert.False(logger.Options.IncludeScopes);
        }
        public void ConsoleLoggerOptions_TimeStampFormat_MultipleReloads()
        {
            var monitor        = new TestOptionsMonitor(new ConsoleLoggerOptions());
            var loggerProvider = new ConsoleLoggerProvider(monitor);
            var logger         = (ConsoleLogger)loggerProvider.CreateLogger("Name");

            Assert.Null(logger.Options.TimestampFormat);
            monitor.Set(new ConsoleLoggerOptions()
            {
                TimestampFormat = "yyyyMMdd"
            });
            Assert.Equal("yyyyMMdd", logger.Options.TimestampFormat);
            monitor.Set(new ConsoleLoggerOptions()
            {
                TimestampFormat = "yyyyMMddHHmmss"
            });
            Assert.Equal("yyyyMMddHHmmss", logger.Options.TimestampFormat);
        }
Exemple #14
0
        private static void Main(string[] args)
        {
#pragma warning disable 162
            Server server;
            var    logger = new ConsoleLoggerProvider((s, level) => true, true);
            if (IsSslTest)
            {
                server = new Server(Http.Create(HttpMode.Dual),
                                    new SslListener(new TcpConnectionListener(IPAddress.Loopback, 11112),
                                                    new SslServerAuthenticationOptions
                {
                    EnabledSslProtocols = SslProtocols.Tls12,
                    ServerCertificate   =
                        Pem.GetCertificate(
                            "-----BEGIN CERTIFICATE-----MIID8zCCAtugAwIBAgIgdsp/a6adzYJ9SXdO19c9NX+xgW5VufVWrFK/Ddi5d7kwDQYJKoZIhvcNAQEFBQAwgYoxEjAQBgNVBAYTCVdvcmNlc3RlcjEVMBMGA1UECgwMVWx0eiBMaW1pdGVkMRQwEgYDVQQLDAtEZXZlbG9wbWVudDESMBAGA1UEAwwJbG9jYWxob3N0MR8wHQYJKoZIhvcNAQkBFhBsZWdhbEB1bHR6LmNvLnVrMRIwEAYDVQQDDAlsb2NhbGhvc3QwHhcNMTgwODE0MTY1OTM4WhcNMjgwODE0MTY1OTM4WjB2MRIwEAYDVQQGEwlXb3JjZXN0ZXIxFTATBgNVBAoMDFVsdHogTGltaXRlZDEUMBIGA1UECwwLRGV2ZWxvcG1lbnQxEjAQBgNVBAMMCWxvY2FsaG9zdDEfMB0GCSqGSIb3DQEJARYQbGVnYWxAdWx0ei5jby51azCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAI7zzCylJ4oSXuj1y4MmhRHBS0t5K8kwOQbrzRLFsbRU6vuMU/ZjiDZfNbTgfDvl/USaTxxRERnd+4SpNEOp5lMzjHDHCDtl54F00+7NJiGmA6KTcxS8u0oOnxBmr+cB7gNm/VdFTopq1xaXZ/W+066zllRPtGdPCpBO2irr4mHeCCyoCBwixj+Yrz03V8Ilr0g4gBlz1FqD/2B5bZ6pGiAVivecfT1wJKCBxjZSxLd2xmRtHeFxTUBbpkFiRcTE1PYz34g0EvhdWYRQmmjfy2DQomK3sHPLZj7OOLoyEaLzO+IVv2eN9SIx+JLPyOtuMF1AwVuswDJHODdrPGlqlcMCAwEAAaNYMFYwHQYDVR0OBBYEFJaAdm+WoLHxQBO1GEr5i4jhQ0R3MB8GA1UdIwQYMBaAFJaAdm+WoLHxQBO1GEr5i4jhQ0R3MBQGA1UdEQQNMAuCCWxvY2FsaG9zdDANBgkqhkiG9w0BAQUFAAOCAQEAGdmBS9KmR1iJSRa2lp7ZzWYawnuuMbxG+vsW9VOEpRFzP9697hQWdC3oyf+L8rxAD8dMO87kmZq46A7qxelt2cbdTtQj2ElYZzWr2SA0TrvG7F1SBBNGkAKwdbhXSa17bni1HbYi74EqLg4VHGE+vBl0ZSxe6QGcxsBasQty6K1Fks8Uul4eXcLFn5+dbspLdgfE8HFApXlsGeZ2AgAToztoDWuX90WdJpRmpEHUWnwpuXkrXVbSd4aMwdJ+AZeUPLkanqi/HpZkTFKcZdz5zDxQV8CRqh+dpGTnkF3rA6lWrQWGsOaNAS0DHNYlF6MeSG7x6/kK4aapHSf6dTKtJA==-----END CERTIFICATE-----",
                            "-----BEGIN RSA PRIVATE KEY-----MIIEowIBAAKCAQEAjvPMLKUnihJe6PXLgyaFEcFLS3kryTA5BuvNEsWxtFTq+4xT9mOINl81tOB8O+X9RJpPHFERGd37hKk0Q6nmUzOMcMcIO2XngXTT7s0mIaYDopNzFLy7Sg6fEGav5wHuA2b9V0VOimrXFpdn9b7TrrOWVE+0Z08KkE7aKuviYd4ILKgIHCLGP5ivPTdXwiWvSDiAGXPUWoP/YHltnqkaIBWK95x9PXAkoIHGNlLEt3bGZG0d4XFNQFumQWJFxMTU9jPfiDQS+F1ZhFCaaN/LYNCiYrewc8tmPs44ujIRovM74hW/Z431IjH4ks/I624wXUDBW6zAMkc4N2s8aWqVwwIDAQABAoIBAAh4K55w3IJYK0pcbFslWENLM0r8mgUDTTr6k9MAZn0Q05PlZlYV4zdBddJKbeHd8vRHu4HUexG6w/uXS3LqKSzAbu+BmJxtoa/a/EbM3cJRmSvegODM0RXb/ug/BT3yWyfVcr4NwPpUxns0AONKPoq+YMeMVLES5EUqKXqF24rrwNss81VjKusHCu6ghhNLK8+WOlljqMaWeFJ+rtILaajPEjwtCQhoMU+Z8+pdXwfU2BMvSTx/srEzYDgr8w/1pk9Id08zDje7Dn6gZBN/4NNF66dtMt6/87acRKEFRE0bbLDpY0nX9Pm++EfGZmLApH84XypREnRMddTQgTMTVpkCgYEAxt1rwigGWSdjY6gzJ9b6c0iwTPOvIk/u1F37dTrnfZoyKGlcxAy+tZmt+CvxG0W/J/Y2sYvrXt8ldIrVeAJul+KbtXVmJseZpeIAZ4XCHmb8zJxCffGNtZHqrTKmKwJQKbbzczQImi/WdinVzjIMyQgnipOaKP1B6LmxpQ1W+wsCgYEAuAX80yfu01dOlSDQwiqI1r5mgI3XGfRkQMIkkZZ/Oik05/ODMLSS3DYdmk67uEmP+nf39WLminIV6kYBWAA+SayA81FQ7CZOqK1og5gfRQOrAabMbT7yqa65pBSwriea9rgLuZlQRUOQ/Shq/GU01vO6Ce+VLryR7BqH/8GpwykCgYEAtJnWCSfMTB9HVfQlMSM9pID5C4mrHaA2J8uKWHa8UQc+UhEN3EYu1EHTCrTtbHU1GxexqCCIC0rgeyyynSCoS2vTOUJ7GPDgixPqhhmlp3KkVzX59OLwbVstI0oCOsEJCDlMcu1oeo7DV+C6eV5e2ht7vZA6ysrllnM978Vjnu0CgYAiun6MGu0nVUKvQhIjkoNgg240tI/zhfulfP4Ju60m/L/PRlVry6grhsrvZAxpKvjQ+/L/jDqVxhH8tFlskh8vKC7tvFrZNiGCE7e1ne/IxnhvR1stAsQo4aCHJqBxPWgxR2pvDE/pwmaKYCZQm4jtR/HEDkLJHy0qsZcY3SN8gQKBgEz04YAwWA529u232rEyoI3xOd/VuQbEiXlXrYTldMZVE4cyATP8aNjtJT5s8J2gCRsr9yrFNhk92AX0LWtnESoQg7RPIDHEB90Y+S+mPmV+Il92u8iim3y3kz1QnJ221TgzghaikYCiI1iv16muH4UgjRiq6O5h9iW8zgJwspMU-----END RSA PRIVATE KEY-----"),
                    ApplicationProtocols = new List <SslApplicationProtocol> {
                        SslApplicationProtocol.Http2
                    },
                    ClientCertificateRequired = false
                }), logger
                                    );
            }
            else
            {
                server = new Server(Http.Create(HttpMode.Dual),
                                    new TcpConnectionListener(IPAddress.Any, 11111),
                                    new ConsoleLoggerProvider((s, level) => true, true));
            }
            //        null);

            server.RequestReceived += ServerOnRequestReceived;
            var exceptionLogger = logger.CreateLogger("AppDomain-EX");
            AppDomain.CurrentDomain.UnhandledException += (sender, eventArgs) =>
                                                          exceptionLogger.LogError((Exception)eventArgs.ExceptionObject, "Unhandled Exception");
            server.Start();
            Console.ReadLine();
            server.Stop();
#pragma warning restore 162
        }
        public ILogger CreateLogger(string name)
        {
            ConsoleLogger created = _delegate.CreateLogger(name) as ConsoleLogger;

            return(_loggers.GetOrAdd(name, created));
        }
Exemple #16
0
        public static ILogger CreateConsoleLogger()
        {
            var provider = new ConsoleLoggerProvider((message, level) => true, includeScopes: true);

            return(provider.CreateLogger("Console logger"));
        }