Serilog未写入MsSql服务器数据库,也未显示任何错误

时间:2018-10-11 07:01:59

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

我正在尝试使用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无法正常工作。我想念的是什么?

1 个答案:

答案 0 :(得分:1)

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

SELECT g.groupId,g.name FROM c
join g in c.groups