Esempio n. 1
0
        public void Logs_can_be_written_to_ITestOutputHelper()
        {
            var output = new TestTestOutputHelper();

            TestLog.Current.LogTo(output);

            var message = Guid.NewGuid().ToString();

            Log.Info(message);

            output.Text.Should().Contain(s => s.Contains(message));
        }
Esempio n. 2
0
    public void LoggerProviderDoesNotWriteLogMessagesBelowMinimumLevel()
    {
        var testTestOutputHelper = new TestTestOutputHelper();
        var loggerFactory        = CreateTestLogger(builder => builder
                                                    .AddXunit(testTestOutputHelper, LogLevel.Warning));

        var logger = loggerFactory.CreateLogger("TestCategory");

        logger.LogInformation("This is some great information");
        logger.LogError("This is a bad error");

        Assert.Equal("| [TIMESTAMP] TestCategory Error: This is a bad error" + Environment.NewLine, MakeConsistent(testTestOutputHelper.Output));
    }
Esempio n. 3
0
    public void LoggerProviderDoesNotThrowIfOutputHelperThrows()
    {
        var testTestOutputHelper = new TestTestOutputHelper();
        var loggerFactory        = CreateTestLogger(builder => builder

                                                    .AddXunit(testTestOutputHelper));

        testTestOutputHelper.Throw = true;

        var logger = loggerFactory.CreateLogger("TestCategory");

        logger.LogInformation("This is a" + Environment.NewLine + "multi-line" + Environment.NewLine + "message");

        Assert.Equal(0, testTestOutputHelper.Output.Length);
    }
Esempio n. 4
0
    public void LoggerProviderPrependsPrefixToEachLine()
    {
        var testTestOutputHelper = new TestTestOutputHelper();
        var loggerFactory        = CreateTestLogger(builder => builder
                                                    .AddXunit(testTestOutputHelper));

        var logger = loggerFactory.CreateLogger("TestCategory");

        logger.LogInformation("This is a" + Environment.NewLine + "multi-line" + Environment.NewLine + "message");

        // The lines after the first one are indented more because the indentation was calculated based on the timestamp's actual length.
        var expectedOutput =
            "| [TIMESTAMP] TestCategory Information: This is a" + Environment.NewLine +
            "|                                                 multi-line" + Environment.NewLine +
            "|                                                 message" + Environment.NewLine;

        Assert.Equal(expectedOutput, MakeConsistent(testTestOutputHelper.Output));
    }
Esempio n. 5
0
    public void LoggerProviderWritesToTestOutputHelper()
    {
        var testTestOutputHelper = new TestTestOutputHelper();

        var loggerFactory = CreateTestLogger(builder => builder
                                             .SetMinimumLevel(LogLevel.Trace)
                                             .AddXunit(testTestOutputHelper));

        var logger = loggerFactory.CreateLogger("TestCategory");

        logger.LogInformation("This is some great information");
        logger.LogTrace("This is some unimportant information");

        var expectedOutput =
            "| [TIMESTAMP] TestCategory Information: This is some great information" + Environment.NewLine +
            "| [TIMESTAMP] TestCategory Trace: This is some unimportant information" + Environment.NewLine;

        Assert.Equal(expectedOutput, MakeConsistent(testTestOutputHelper.Output));
    }
Esempio n. 6
0
    public void TestLogWritesToITestOutputHelper()
    {
        var output = new TestTestOutputHelper();

        using var assemblyLog = AssemblyTestLog.Create(ThisAssembly, baseDirectory: null);
        using (assemblyLog.StartTestLog(output, "NonExistant.Test.Class", out var loggerFactory))
        {
            var logger = loggerFactory.CreateLogger("TestLogger");
            logger.LogInformation("Information!");

            // Trace is disabled by default
            logger.LogTrace("Trace!");
        }

        var testLogContent = MakeConsistent(output.Output);

        Assert.Equal(
            @"[OFFSET] TestLifetime Information: Starting test TestLogWritesToITestOutputHelper at TIMESTAMP
[OFFSET] TestLogger Information: Information!
[OFFSET] TestLifetime Information: Finished test TestLogWritesToITestOutputHelper in DURATION
", testLogContent, ignoreLineEndingDifferences: true);
    }