首页 > 解决方案 > Serilog WriteTo.MSSqlServer 不工作控制台(非核心)

问题描述

我遇到了 WriteTo.MSSqlServer 无法连接到配置的数据库的问题。AutitTo.MSSqlServer 工作正常。这是在控制台应用程序 C# 中。不是核心。

我已经翻遍了,我发现的一切都是死胡同。有点沮丧

代码:

var sinkOptions = new SinkOptions() { 
        TableName = "Logs",
        AutoCreateSqlTable = true,
        SchemaName = "dbo"
        };
       

        //Create/Configure the logger
        _logger = new LoggerConfiguration()
        .WriteTo.Console()
        .WriteTo.File(@"C:\Users\c.clover\source\repos\ConsoleApp3\ConsoleApp3\Log.txt")
        .WriteTo.MSSqlServer(
            "Server=TEST01;Database=LogDb;Trusted_Connection=True;",
            sinkOptions,
            null,
            null,
            Serilog.Events.LogEventLevel.Information
            )
        .AuditTo.MSSqlServer(
            "Server=TEST01;Database=LogDb;Trusted_Connection=True;",
            sinkOptions,
            null,
            null,
            Serilog.Events.LogEventLevel.Information
            )
        .CreateLogger();
         


        //Log something
        _logger.Information("Test Log {Now}", DateTime.Now);

        Log.CloseAndFlush();

    }
}

标签: serilog

解决方案


我通过装袋 ILogger _logger 并改用 Log 解决了这个问题

Log.Logger = new LoggerConfiguration()...等

日志信息....等

Log.CloseAndFlush();

我不明白为什么它不适用于 ILogger?


推荐阅读