我正在尝试用输出写单元测试来记录 - 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.Sinks.Debug
(here)包并用WriteTo.Debug()
初始化它。