【问题标题】:Serilog is not writing to MsSql server database and also not showing any errorSerilog 没有写入 MsSql 服务器数据库,也没有显示任何错误
【发布时间】:2018-10-11 15:50:44
【问题描述】:

我正在尝试使用 serilog 将日志写入 MsSql 服务器。我的应用程序是 .Net Core 2.1 控制台应用程序。我正在使用 Serilog MsSql 接收器

我已经使用以下 sql 命令创建了一个表

CREATE TABLE [Logs] (

   [Id] int IDENTITY(1,1) NOT NULL,
   [Message] nvarchar(max) NULL,
   [MessageTemplate] nvarchar(max) NULL,
   [Level] nvarchar(128) NULL,
   [TimeStamp] datetimeoffset(7) NOT NULL,  -- use datetime for SQL Server pre-2008
   [Exception] nvarchar(max) NULL,
   [Properties] xml NULL

   CONSTRAINT [PK_Logs] 
     PRIMARY KEY CLUSTERED ([Id] ASC) 
    WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF,
           ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) 
     ON [PRIMARY]

) ON [PRIMARY];

我的 c# 代码:

static void Main(string[] args)
        {
            try
            {
                Serilog.Debugging.SelfLog.Enable(msg => Debug.WriteLine(msg));


                Log.Logger = new LoggerConfiguration()
               .MinimumLevel.Debug()
               .MinimumLevel.Override("Microsoft", LogEventLevel.Information)
               .Enrich.FromLogContext()
              .WriteTo.MSSqlServer("Server=xyz;Database=abc;Trusted_Connection=True;", "Logs")
              .CreateLogger();

                Log.Information("Hello");


            }
            catch (Exception ex)
            {

                throw;
            }
        }

我的问题是 serilog 也没有写入数据库它没有显示任何错误。我尝试使用 Ado.Net 进行连接,它正在连接和插入。但是使用 serilog 它不起作用。我错过了什么?

【问题讨论】:

标签: c# asp.net-core-2.1 serilog


【解决方案1】:

只有一行解决了我的问题。

Log.CloseAndFlush();

【讨论】:

    猜你喜欢
    • 2020-07-29
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-28
    • 1970-01-01
    • 2023-02-08
    相关资源
    最近更新 更多