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) ) ); }
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 }
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"); } } } }