コード例 #1
0
ファイル: TestBaseLoggable.cs プロジェクト: Kiphaz/PureActive
 /// <summary>
 /// Initializes a new instance of the <see cref="TestBaseLoggable{T}"/> class.
 /// </summary>
 /// <param name="appFolderName">Name of the application folder.</param>
 /// <param name="testOutputHelper">The test output helper.</param>
 /// <param name="initialMinimumLevel">The initial minimum level.</param>
 /// <param name="xUnitSerilogFormatter">The x unit serilog formatter.</param>
 /// <autogeneratedoc />
 protected TestBaseLoggable(string appFolderName, ITestOutputHelper testOutputHelper,
                            LogLevel initialMinimumLevel = LogLevel.Debug,
                            XUnitSerilogFormatter xUnitSerilogFormatter = XUnitSerilogFormatter.RenderedCompactJsonFormatter)
     : this(new FileSystem(appFolderName), testOutputHelper, initialMinimumLevel,
            xUnitSerilogFormatter)
 {
 }
コード例 #2
0
ファイル: TestBaseLoggable.cs プロジェクト: Kiphaz/PureActive
 /// <summary>
 /// Initializes a new instance of the <see cref="TestBaseLoggable{T}"/> class.
 /// </summary>
 /// <param name="operatingSystem">The operating system.</param>
 /// <param name="testOutputHelper">The test output helper.</param>
 /// <param name="initialMinimumLevel">The initial minimum level.</param>
 /// <param name="xUnitSerilogFormatter">The x unit serilog formatter.</param>
 /// <autogeneratedoc />
 protected TestBaseLoggable(IOperatingSystem operatingSystem, ITestOutputHelper testOutputHelper,
                            LogLevel initialMinimumLevel = LogLevel.Debug,
                            XUnitSerilogFormatter xUnitSerilogFormatter = XUnitSerilogFormatter.RenderedCompactJsonFormatter)
     : this(new FileSystem(typeof(T), operatingSystem), testOutputHelper, initialMinimumLevel,
            xUnitSerilogFormatter)
 {
 }
コード例 #3
0
ファイル: TestBaseLoggable.cs プロジェクト: Kiphaz/PureActive
        /// <summary>
        /// Initializes a new instance of the <see cref="TestBaseLoggable{T}"/> class.
        /// </summary>
        /// <param name="fileSystem">The file system.</param>
        /// <param name="testOutputHelper">The test output helper.</param>
        /// <param name="initialMinimumLevel">The initial minimum level.</param>
        /// <param name="xUnitSerilogFormatter">The x unit serilog formatter.</param>
        /// <autogeneratedoc />
        protected TestBaseLoggable(IFileSystem fileSystem, ITestOutputHelper testOutputHelper,
                                   LogLevel initialMinimumLevel = LogLevel.Debug,
                                   XUnitSerilogFormatter xUnitSerilogFormatter = XUnitSerilogFormatter.RenderedCompactJsonFormatter)
        {
            FileSystem = fileSystem ?? throw new ArgumentNullException(nameof(fileSystem));

            TestOutputHelper = testOutputHelper;
            LoggerSettings   = new SerilogLoggerSettings(fileSystem, initialMinimumLevel, LoggingOutputFlags.Testing);

            var loggerConfiguration =
                XunitLoggingSink.CreateXUnitLoggerConfiguration(testOutputHelper, LoggerSettings,
                                                                xUnitSerilogFormatter);

            TestLoggerFactory = XunitLoggingSink.CreateXUnitSerilogFactory(LoggerSettings, loggerConfiguration);

            Logger = TestLoggerFactory?.CreatePureLogger <T>();
        }
コード例 #4
0
        /// <summary>
        /// Creates the pure logger.
        /// </summary>
        /// <param name="logEventLevel">The log event level.</param>
        /// <param name="xUnitSerilogFormatter">The x unit serilog formatter.</param>
        /// <returns>IPureLogger.</returns>
        /// <autogeneratedoc />
        private IPureLogger CreatePureLogger(LogEventLevel logEventLevel,
                                             XUnitSerilogFormatter xUnitSerilogFormatter = XUnitSerilogFormatter.RenderedCompactJsonFormatter)
        {
            var fileSystem          = new FileSystem(typeof(XunitSinkUnitTests));
            var loggerSettings      = new SerilogLoggerSettings(fileSystem, logEventLevel, LoggingOutputFlags.Testing);
            var loggerConfiguration =
                XunitLoggingSink.CreateXUnitLoggerConfiguration(_testOutputHelper, loggerSettings,
                                                                xUnitSerilogFormatter);

            var loggerFactory = XunitLoggingSink.CreateXUnitSerilogFactory(loggerSettings, loggerConfiguration);

            var logger = loggerFactory.CreatePureLogger <XunitSinkUnitTests>();

            logger.Should().NotBeNull("CreatePureLogger should always succeed");

            return(logger);
        }
コード例 #5
0
ファイル: XunitLoggerSink.cs プロジェクト: Kiphaz/PureActive
        /// <summary>
        /// Gets the x unit serilog formatter.
        /// </summary>
        /// <param name="xUnitSerilogFormatter">The x unit serilog formatter.</param>
        /// <returns>ITextFormatter.</returns>
        /// <autogeneratedoc />
        public static ITextFormatter GetXUnitSerilogFormatter(XUnitSerilogFormatter xUnitSerilogFormatter)
        {
            switch (xUnitSerilogFormatter)
            {
            case XUnitSerilogFormatter.JsonFormatter:
                return(new JsonFormatter());

            case XUnitSerilogFormatter.CompactJsonFormatter:
                return(new CompactJsonFormatter());

            case XUnitSerilogFormatter.RenderedJsonFormatter:
                return(new JsonFormatter(null, true));

            case XUnitSerilogFormatter.RenderedCompactJsonFormatter:
                return(new RenderedCompactJsonFormatter());

            default:
                return(null);
            }
        }
コード例 #6
0
ファイル: XunitLoggerSink.cs プロジェクト: Kiphaz/PureActive
        /// <summary>
        /// Creates the x unit serilog factory.
        /// </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>IPureTestLoggerFactory.</returns>
        /// <exception cref="ArgumentNullException">
        /// testOutputHelper
        /// or
        /// loggerSettings
        /// </exception>
        /// <autogeneratedoc />
        public static IPureTestLoggerFactory CreateXUnitSerilogFactory(ITestOutputHelper testOutputHelper, ISerilogLoggerSettings loggerSettings, XUnitSerilogFormatter xUnitSerilogFormatter = XUnitSerilogFormatter.None)
        {
            if (testOutputHelper == null)
            {
                throw new ArgumentNullException(nameof(testOutputHelper));
            }
            if (loggerSettings == null)
            {
                throw new ArgumentNullException(nameof(loggerSettings));
            }

            var loggerConfiguration = CreateXUnitLoggerConfiguration(testOutputHelper, loggerSettings, xUnitSerilogFormatter);

            return(CreateXUnitSerilogFactory(loggerSettings, loggerConfiguration));
        }
コード例 #7
0
ファイル: XunitLoggerSink.cs プロジェクト: Kiphaz/PureActive
        /// <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);
        }
コード例 #8
0
        public void XunitSink_Create_Formatter(XUnitSerilogFormatter xUnitSerilogFormatter)
        {
            var logger = CreatePureLogger(LogEventLevel.Debug, xUnitSerilogFormatter);

            logger.LogDebug("Create_XUnit_Sink_{xUnitSerilogFormatter}", xUnitSerilogFormatter);
        }
コード例 #9
0
 /// <inheritdoc />
 public TestBaseLoggableTest(ITestOutputHelper testOutputHelper, LogLevel initialMinimumLevel = LogLevel.Debug, XUnitSerilogFormatter xUnitSerilogFormatter = XUnitSerilogFormatter.RenderedCompactJsonFormatter) :
     base(testOutputHelper, initialMinimumLevel, xUnitSerilogFormatter)
 {
 }
コード例 #10
0
 /// <inheritdoc />
 public TestBaseLoggableTest(string appFolderName, IOperatingSystem operatingSystem, ITestOutputHelper testOutputHelper, LogLevel initialMinimumLevel = LogLevel.Debug, XUnitSerilogFormatter xUnitSerilogFormatter = XUnitSerilogFormatter.RenderedCompactJsonFormatter) :
     base(appFolderName, operatingSystem, testOutputHelper, initialMinimumLevel, xUnitSerilogFormatter)
 {
 }