Пример #1
0
        /// <summary>
        /// Uses the system settings.
        /// </summary>
        /// <param name="webHostBuilder">The web host builder.</param>
        /// <param name="logFileName">Name of the log file.</param>
        /// <param name="includeLogEvent">The include log event.</param>
        /// <returns>IWebHostBuilder.</returns>
        /// <autogeneratedoc />
        public static IWebHostBuilder UseSystemSettings(this IWebHostBuilder webHostBuilder, string logFileName,
                                                        Func <LogEvent, bool> includeLogEvent)
        {
            var operatingSystem  = new OperatingSystem();
            var appConfiguration = GetAppConfiguration();
            var fileSystem       = new FileSystem(appConfiguration, operatingSystem);

            var loggerSettings      = new SerilogLoggerSettings(fileSystem, appConfiguration, LoggingOutputFlags.AppFull);
            var loggerConfiguration =
                LoggerConfigurationFactory.CreateLoggerConfiguration(appConfiguration, logFileName, loggerSettings,
                                                                     includeLogEvent);
            var loggerFactory =
                LoggerConfigurationFactory.CreatePureSeriLoggerFactory(loggerSettings, loggerConfiguration);

            webHostBuilder.ConfigureServices(services =>
                                             services.AddSingleton(loggerFactory));

            webHostBuilder.ConfigureServices(services =>
                                             services.AddSingleton <ILoggerFactory>(loggerFactory));

            webHostBuilder.ConfigureServices(services =>
                                             services.AddSingleton <IOperatingSystem>(operatingSystem));

            webHostBuilder.ConfigureServices(services =>
                                             services.AddSingleton <IFileSystem>(fileSystem));

            return(webHostBuilder);
        }
Пример #2
0
        /// <summary>
        /// Creates the pure logger factory.
        /// </summary>
        /// <param name="logEventLevel">The log event level.</param>
        /// <param name="loggingOutputFlags">The logging output flags.</param>
        /// <param name="logFileName">Name of the log file.</param>
        /// <returns>IPureLoggerFactory.</returns>
        /// <autogeneratedoc />
        private IPureLoggerFactory CreatePureLoggerFactory(LogEventLevel logEventLevel,
                                                           LoggingOutputFlags loggingOutputFlags, string logFileName)
        {
            var loggerSettings      = new SerilogLoggerSettings(_fileSystem, logEventLevel, loggingOutputFlags);
            var loggerConfiguration = LoggerConfigurationFactory.CreateLoggerConfiguration((string)null, logFileName, loggerSettings, IncludeLogEventTest);

            return(LoggerConfigurationFactory.CreatePureSeriLoggerFactory(loggerSettings, loggerConfiguration));
        }
        public void PureSeriLoggerFactory_CreateSerilogFactory_LoggerConfiguration()
        {
            var loggerSettings = new SerilogLoggerSettings(new FileSystem(typeof(PureSeriLoggerFactoryUnitTests)), LogEventLevel.Debug, LoggingOutputFlags.Default);

            var loggerFactory = LoggerConfigurationFactory.CreateSerilogFactory(loggerSettings);
            loggerFactory.Should().NotBeNull();

        }
        public void PureSeriLoggerFactory_CreateLoggerConfiguration()
        {
            var loggerSettings = new SerilogLoggerSettings(new FileSystem(typeof(PureSeriLoggerFactoryUnitTests)), LogEventLevel.Debug, LoggingOutputFlags.AppFull);

            var loggerFactory = LoggerConfigurationFactory.CreateLoggerConfiguration(
                ApplicationInsightsKey, "PureSeriLoggerFactoryUnitTests.log",
                loggerSettings, IncludeLogEventTrue);

            loggerFactory.Should().NotBeNull();
        }
Пример #5
0
        /// <summary>
        /// Creates the x unit serilog factory.
        /// </summary>
        /// <param name="loggerSettings">The logger settings.</param>
        /// <param name="loggerConfiguration">The logger configuration.</param>
        /// <returns>IPureTestLoggerFactory.</returns>
        /// <exception cref="ArgumentNullException">
        /// loggerSettings
        /// or
        /// loggerConfiguration
        /// </exception>
        /// <autogeneratedoc />
        public static IPureTestLoggerFactory CreateXUnitSerilogFactory(ISerilogLoggerSettings loggerSettings, LoggerConfiguration loggerConfiguration)
        {
            if (loggerSettings == null)
            {
                throw new ArgumentNullException(nameof(loggerSettings));
            }
            if (loggerConfiguration == null)
            {
                throw new ArgumentNullException(nameof(loggerConfiguration));
            }

            var loggerFactory = LoggerConfigurationFactory.CreateSerilogFactory(loggerSettings, loggerConfiguration);

            // loggerFactory.AddDebug();

            return(new PureTestLoggerFactory(loggerFactory, loggerSettings));
        }
Пример #6
0
        /// <summary>
        /// Creates the x unit logger configuration.
        /// </summary>
        /// <param name="testOutputHelper">The test output helper.</param>
        /// <param name="loggerSettings">The logger settings.</param>
        /// <param name="xUnitSerilogFormatter">The x unit serilog formatter.</param>
        /// <returns>LoggerConfiguration.</returns>
        /// <exception cref="ArgumentNullException">
        /// testOutputHelper
        /// or
        /// loggerSettings
        /// </exception>
        /// <autogeneratedoc />
        public static LoggerConfiguration CreateXUnitLoggerConfiguration(ITestOutputHelper testOutputHelper,
                                                                         ISerilogLoggerSettings loggerSettings, XUnitSerilogFormatter xUnitSerilogFormatter)
        {
            if (testOutputHelper == null)
            {
                throw new ArgumentNullException(nameof(testOutputHelper));
            }
            if (loggerSettings == null)
            {
                throw new ArgumentNullException(nameof(loggerSettings));
            }

            var loggerConfiguration = LoggerConfigurationFactory.CreateDefaultLoggerConfiguration(loggerSettings);

            if (loggerSettings.LoggingOutputFlags.HasFlag(LoggingOutputFlags.XUnitConsole))
            {
                var jsonFormatter = GetXUnitSerilogFormatter(xUnitSerilogFormatter);

                var testConsoleLoggerSetting =
                    loggerSettings.GetOrRegisterSerilogLogDefaultLevel(LoggingOutputFlags.XUnitConsole);

                if (jsonFormatter != null)
                {
                    loggerConfiguration.WriteTo.XUnit(testOutputHelper, jsonFormatter,
                                                      testConsoleLoggerSetting.MinimumLogEventLevel, testConsoleLoggerSetting.LoggingLevelSwitch);
                }
                else
                {
                    loggerConfiguration.WriteTo.XUnit(testOutputHelper, testConsoleLoggerSetting.MinimumLogEventLevel,
                                                      XUnitLoggerConfigurationExtensions.DefaultOutputTemplate,
                                                      null, testConsoleLoggerSetting.LoggingLevelSwitch);
                }
            }

            if (loggerSettings.LoggingOutputFlags.HasFlag(LoggingOutputFlags.TestCorrelator))
            {
                var testCorrelatorLoggerSetting =
                    loggerSettings.GetOrRegisterSerilogLogDefaultLevel(LoggingOutputFlags.TestCorrelator);

                // Configuration switch to TestCorrelator
                loggerConfiguration.WriteTo.TestCorrelator(testCorrelatorLoggerSetting.MinimumLogEventLevel,
                                                           testCorrelatorLoggerSetting.LoggingLevelSwitch);
            }

            return(loggerConfiguration);
        }
        public void PureSeriLoggerFactory_CreateLoggerConfiguration_Configuration()
        {
            var loggerSettings = new SerilogLoggerSettings(new FileSystem(typeof(PureSeriLoggerFactoryUnitTests)), LogEventLevel.Debug, LoggingOutputFlags.AppFull);

            var configuration = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddEnvironmentVariables()
                .AddInMemoryCollection(
                    new Dictionary<string, string>
                    {
                        [$"{LoggerConfigurationFactory.SectionApplicationInsights}:{LoggerConfigurationFactory.InstrumentationKey}"] = ApplicationInsightsKey,
                    }
                )
                .Build();
            
            var loggerFactory = LoggerConfigurationFactory.CreateLoggerConfiguration(
                configuration, "PureSeriLoggerFactoryUnitTests.log",
                loggerSettings, IncludeLogEventTrue);

            loggerFactory.Should().NotBeNull();
        }
Пример #8
0
 /// <summary>
 /// Creates a logger to use for the build service.
 /// </summary>
 private static ILogger CreateLogger(IConfigurationRoot config)
 {
     return(LoggerConfigurationFactory
            .CreateLoggerConfiguration(config, IncludeLogEvent)
            .CreateLogger());
 }
 public void PureSeriLoggerFactory_CreateSerilogFactory_Null()
 {
     Func<ILoggerFactory> fx = () => LoggerConfigurationFactory.CreateSerilogFactory(null);
     fx.Should().Throw<ArgumentException>().And.ParamName.Should().Be("loggerSettings");
 }
Пример #10
0
 /// <summary>
 /// Creates a logger to use for the build service.
 /// </summary>
 private static ILogger CreateLogger(IConfigurationRoot config)
 {
     return(LoggerConfigurationFactory
            .CreateLoggerConfiguration(config, logEvent => true)
            .CreateLogger());
 }