public void ViaTextLogFile()
        {
            ConfigureLogger.StandardSetup();
            var key            = "CORRELATION_ID";
            var staticValueKey = "STATIC";
            var staticValue    = "this value should be in all logs";

            LoggingContext.Set(staticValueKey, staticValue);
            Parallel.For(1, 10000, (x) =>
            {
                LoggingContext.Set(key, x);
                this.GetLogger().LogWarningWithContext("current number processing: {Number}", x);
            });
            Log.CloseAndFlush();

            var logFile = Directory.EnumerateFiles("./", "log*.txt").First();

            string source = this.GetType().ToString();
            var    lines  = File.ReadLines(logFile);

            foreach (string line in lines.Skip(1)) //skip the first line because it is expected to be different
            {
                var obj = JObject.Parse(line);
                Assert.StrictEqual(obj["Number"], obj[LoggerExtensions.LOG_KEY_CONTEXT][key]);
                Assert.StrictEqual(source, obj[LoggerExtensions.LOG_KEY_CONTEXT][LoggerExtensions.LOG_KEY_SOURCE]);
                Assert.StrictEqual(staticValue, obj[LoggerExtensions.LOG_KEY_CONTEXT][staticValueKey]);
            }

            File.Delete(logFile);
        }
Exemplo n.º 2
0
 public static void RunBackgroundTaskWorker <TWorker>(RunBackgroundTaskWorkerParams runBackgroundTaskWorkerParams) where TWorker : class, IHostedService
 {
     ConfigureLogger.StandardSetup(logLevel: runBackgroundTaskWorkerParams.LogLevel);
     Host.CreateDefaultBuilder(runBackgroundTaskWorkerParams.Args)
     .UseSystemd()
     .ConfigureServices((hostContext, services) =>
     {
         runBackgroundTaskWorkerParams.IocDelegate(hostContext, null, services);
         services.AddSingleton(provider => runBackgroundTaskWorkerParams.WorkerProcess);
         services.AddSingleton(provider => runBackgroundTaskWorkerParams.IocDelegate);
         services.AddHostedService <TWorker>();
     })
     .Build().Run();
 }
Exemplo n.º 3
0
 public static void RunCustomWorker <TWorker>(RunCustomWorkerParams runCustomWorkerParams) where TWorker : class, IHostedService
 {
     ConfigureLogger.StandardSetup(logLevel: runCustomWorkerParams.LogLevel);
     Host.CreateDefaultBuilder(runCustomWorkerParams.Args)
     .UseWindowsService()
     .ConfigureServices((hostContext, services) =>
     {
         runCustomWorkerParams.IocDelegate(hostContext, null, services);
         services.AddSingleton(provider => runCustomWorkerParams.ListenerInfo);
         services.AddSingleton(provider => runCustomWorkerParams.IocDelegate);
         services.AddSingleton(provider => runCustomWorkerParams.WebAppBuilderDelegate);
         services.AddHostedService <TWorker>();
     })
     .Build().Run();
 }
Exemplo n.º 4
0
        public Bootstrapper()
        {
            Configure(configuration =>
            {
                Log.Logger = new LoggerConfiguration()
                             .MinimumLevel.Debug()
                             .Enrich.FromLogContext()
                             .WriteTo.Debug()
                             .WriteTo.Console()
                             .CreateLogger();

                var loggerFactory = LoggerFactory
                                    .Create(ConfigureLoggingBuilder)
                                    .AddSerilog(Log.Logger);

                ConfigureLogger.Invoke(loggerFactory);

                configuration.ForSingletonOf <ILoggerFactory>().Use(loggerFactory);

                var logger = CreateLogger == null ? loggerFactory.CreateLogger("DocuStore") : CreateLogger(loggerFactory);

                configuration.ForSingletonOf <ISettings>().Use(Settings);

                configuration.ForSingletonOf <ILogger>().Use(logger);

                configuration.ForSingletonOf <IFactory>().Use <ServiceLocatorFactory>();

                configuration.ForSingletonOf <IFileSystem>().Use <FileSystem>();

                /*
                 * configuration.Scan(scanner =>
                 * {
                 *  scanner.AssemblyContainingType<IFileSystem>();
                 *  scanner.IncludeNamespaceContainingType<IFileSystem>();
                 *  scanner.AssemblyContainingType<FileSystem>();
                 *  scanner.IncludeNamespaceContainingType<FileSystem>();
                 *  scanner.SingleImplementationsOfInterface();
                 *  scanner.WithDefaultConventions();
                 * });
                 */
            });
        }
Exemplo n.º 5
0
        private async void Application_Startup(object sender, StartupEventArgs e)
        {
            Log.Logger = ConfigureLogger.BuildLogger();
            var containerBuilder = new ContainerBuilder();
            var daemon           = new HubClientDaemon(containerBuilder);

            containerBuilder.RegisterLogger();
            containerBuilder.RegisterType <MainWindow>().AsSelf();
            containerBuilder.RegisterType <Receiver>().AsSelf();
            var container = containerBuilder.Build();

            await using var scope = container.BeginLifetimeScope();
            var logger = scope.Resolve <ILogger>();

            logger.Information("Starting Application");

            var mainWindow = scope.Resolve <MainWindow>();

            mainWindow.ShowDialog();

            logger.Information("Closing Application");
        }
 public static void Main(string[] args)
 {
     ConfigureLogger.StandardSetup(() => CreateHostBuilder(args).Build().Run());
 }