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>(); }
public void XunitSink_CreateXUnitSerilogFactory_Formatter_Null() { var fileSystem = new FileSystem(typeof(XunitSinkUnitTests)); var loggerSettings = new SerilogLoggerSettings(fileSystem, LogEventLevel.Debug, LoggingOutputFlags.TestCorrelator); Func <IPureTestLoggerFactory> fx = () => XunitLoggingSink.CreateXUnitSerilogFactory(null, loggerSettings, XUnitSerilogFormatter.RenderedCompactJsonFormatter); fx.Should().Throw <ArgumentNullException>().And.ParamName.Should().Be("testOutputHelper"); fx = () => XunitLoggingSink.CreateXUnitSerilogFactory(_testOutputHelper, null, XUnitSerilogFormatter.RenderedCompactJsonFormatter); fx.Should().Throw <ArgumentNullException>().And.ParamName.Should().Be("loggerSettings"); }
/// <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>(); }
/// <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); }
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"); } }