首页 > 解决方案 > Serilog 没有记录任何东西

问题描述

我想在我的项目中使用 Serilog,但我不能让它正常工作。

现在,这就是我所拥有的,仅用于验证和测试目的:

public MainLogger([NotNull] ILogPathProvider logPathProvider)
{
    m_logger = Log.Logger = new LoggerConfiguration()
        .WriteTo.Console()
        .CreateLogger();

    m_logger.Warning("blabla");
}

正如你所看到的,除了打开一个日志并尝试写一个警告之外,并没有发生很多事情。

但是,不会出现此警告。

有什么我忘记配置/调用的吗?

标签: c#serilog

解决方案


假设您安装了正确的 NuGet 包(SerilogSerilog.Sinks.Console),那么您的代码示例应在控制台中打印一条警告消息,而无需进行任何更改。

您可以通过创建一个简单的控制台应用程序、安装上面的包并运行相同的代码来确认这一点。

问题出在您的应用程序和/或环境中的其他地方......它与 Serilog 无关。

最有可能的是,您的方法MainLogger根本没有被调用,或者您的控制台输出可能被重定向到其他地方。


推荐阅读