示例#1
0
        public void XunitSink_CreateXUnitSerilogFactory_Formatter()
        {
            var fileSystem     = new FileSystem(typeof(XunitSinkUnitTests));
            var loggerSettings =
                new SerilogLoggerSettings(fileSystem, LogEventLevel.Debug, LoggingOutputFlags.TestCorrelator);

            var loggerFactory = XunitLoggingSink.CreateXUnitSerilogFactory(_testOutputHelper, loggerSettings,
                                                                           XUnitSerilogFormatter.RenderedCompactJsonFormatter);

            loggerFactory.Should().NotBeNull().And.Subject.Should().BeAssignableTo <IPureLoggerFactory>();
        }
示例#2
0
        public void XunitSink_CreateXUnitLoggerConfiguration_Null()
        {
            var fileSystem     = new FileSystem(typeof(XunitSinkUnitTests));
            var loggerSettings = new SerilogLoggerSettings(fileSystem, LogEventLevel.Debug, LoggingOutputFlags.TestCorrelator);

            Func <LoggerConfiguration> fx = () => XunitLoggingSink.CreateXUnitLoggerConfiguration(null, loggerSettings, XUnitSerilogFormatter.RenderedCompactJsonFormatter);

            fx.Should().Throw <ArgumentNullException>().And.ParamName.Should().Be("testOutputHelper");

            fx = () => XunitLoggingSink.CreateXUnitLoggerConfiguration(_testOutputHelper, null, XUnitSerilogFormatter.RenderedCompactJsonFormatter);

            fx.Should().Throw <ArgumentNullException>().And.ParamName.Should().Be("loggerSettings");
        }
示例#3
0
        /// <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
        public void XunitSink_Create_TestCorrelator()
        {
            var fileSystem     = new FileSystem(typeof(XunitSinkUnitTests));
            var loggerSettings =
                new SerilogLoggerSettings(fileSystem, LogEventLevel.Debug, LoggingOutputFlags.TestCorrelator);
            var loggerConfiguration = XunitLoggingSink.CreateXUnitLoggerConfiguration(_testOutputHelper, loggerSettings,
                                                                                      XUnitSerilogFormatter.RenderedCompactJsonFormatter);
            var loggerFactory = XunitLoggingSink.CreateXUnitSerilogFactory(loggerSettings, loggerConfiguration);
            var logger        = loggerFactory.CreatePureLogger <XunitSinkUnitTests>();

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

            using (TestCorrelator.CreateContext())
            {
                logger.LogInformation("Test: XunitSink_Create_TestCorrelator");

                TestCorrelator.GetLogEventsFromCurrentContext()
                .Should().ContainSingle()
                .Which.MessageTemplate.Text
                .Should().Be("Test: XunitSink_Create_TestCorrelator");
            }
        }