Esempio n. 1
0
        public static void ConsoleColorizer()
        {
            Reusable.ThirdParty.NLogUtilities.LayoutRenderers.IgnoreCaseEventPropertiesLayoutRenderer.Register();

            var loggerFactory = new LoggerFactory(new[]
            {
                ConsoleTemplateRx.Create(new ConsoleTemplateRenderer()),
            })
            {
                Configuration = new LoggerConfiguration
                {
                    Attachements = new HashSet <ILogAttachement>
                    {
                        new Timestamp <UtcDateTime>(),
                    }
                }
            };

            var consoleLogger = loggerFactory.CreateLogger("ConsoleTemplateTest");

            consoleLogger.ConsoleMessageLine(m => m
                                             .text(">")
                                             .span(s => s.text("foo").color(ConsoleColor.Red))
                                             .text(" bar ")
                                             .span(s => s
                                                   .text("foo ")
                                                   .span(ss => ss.text("bar").backgroundColor(ConsoleColor.Gray))
                                                   .text(" baz")
                                                   .backgroundColor(ConsoleColor.DarkYellow)
                                                   )
                                             );
        }
Esempio n. 2
0
        private static async Task Main(string[] args)
        {
            var configuration = RoboNuGetFile.Load();
            var loggerFactory = new LoggerFactory
            {
                Observers =
                {
                    ConsoleTemplateRx.Create(new ConsoleTemplateRenderer())
                }
            };

            using (var container = InitializeContainer(configuration, loggerFactory))
                using (var scope = container.BeginLifetimeScope())
                {
                    var logger   = scope.Resolve <ILoggerFactory>().CreateLogger("ConsoleTemplateTest");
                    var executor = scope.Resolve <ICommandLineExecutor>();

                    // main loop

                    await executor.ExecuteAsync("cls", CancellationToken.None);

                    do
                    {
                        logger.ConsoleMessage(m => m.Prompt());
                        var commandLine = Console.ReadLine();

                        if (commandLine.IsNullOrEmpty())
                        {
                            //logger.ConsoleParagraph(p => p.ConsoleSpan(ConsoleColor.Red, null, _ => "Invalid command name."));
                            continue;
                        }

                        try
                        {
                            await executor.ExecuteAsync(commandLine, CancellationToken.None);
                        }
                        catch (Exception exception)
                        {
                            logger.ConsoleException(exception);
                        }
                    } while (true);
                }
            // ReSharper disable once FunctionNeverReturns - it does renturn when you execute the 'exit' command
        }
Esempio n. 3
0
        public static void SemLog()
        {
            Reusable.ThirdParty.NLogUtilities.LayoutRenderers.IgnoreCaseEventPropertiesLayoutRenderer.Register();

            var loggerFactory = new LoggerFactory(new[]
            {
                ConsoleTemplateRx.Create(new ConsoleTemplateRenderer()),
                NLogRx.Create(new [] { new TransactionMerge() })
            })
            {
                Configuration = new LoggerConfiguration
                {
                    Attachements = new HashSet <ILogAttachement>(AppSetting.FromAppConfig("omnilog:", "Environment", "Product"))
                    {
                        new Timestamp <UtcDateTime>(),
                        new Snapshot()
                        //new Expected(),
                        //new Actual(),
                        //new AreEqual()
                    }
                }
            };

            var logger = loggerFactory.CreateLogger("Demo");

            //for (int i = 0; i < 10000; i++)
            {
                using (logger.BeginScope(s => s.Transaction(123).Elapsed()))
                {
                    logger.State(Layer.Business, () => ("foo", "bar", "Hallo state!"), LogLevel.Warning);
                    using (logger.BeginScope(s => s.Transaction(456).Elapsed()))
                    {
                        logger.State(Layer.Business, () => ("Customer", new { FirstName = "John", LastName = "Doe" }, "Hallo state!"));
                        logger.Event(Layer.Application, Event.ApplicationStart, Result.Success, "Hallo event!");
                        logger.Trace("Just a trace");
                    }
                }
            }
        }