如何在Visual Studio单元测试中将Serilog输出写入控制台?

问题描述 投票:4回答:1

我正在尝试用输出写单元测试来记录 - Serilog。但是当我在Visual Studio(测试资源管理器)中调试它时,我无法在控制台中看到Serilog输出。

有任何想法吗?

public abstract class AbstractTest
{  

  static AbstractTest()
  {
    var loggers = new LoggerConfiguration()
      .MinimumLevel.Verbose()
      .Enrich.FromLogContext();

    loggers.WriteTo.Logger(logger => logger
      .WriteTo.Console(restrictedToMinimumLevel: LogEventLevel.Verbose));

    Log.Logger = loggers.CreateLogger();
    Log.Logger.Information("Logger is initialized");
  }

}

[TestClass]
public class DemoTest : AbstractTest
{
  private static ILogger log = Log.ForContext(typeof(DemoTest));

  [TestMethod]
  public void DemoTst()
  {
    log.Debug("test");
  }

}

“Logger初始化”和控制台中都没有显示“test”。

我正在使用'Serilog.AspNetCore'和'Serilog.Sinks.Console'

serilog
1个回答
4
投票

好的,我找到了解决方案。

你必须在你的项目中包含Serilog.Sinks.Debughere)包并用WriteTo.Debug()初始化它。

© www.soinside.com 2019 - 2024. All rights reserved.