Serilog не пишет в базу данных сервера MsSql, а также не отображает никаких ошибок - PullRequest
0 голосов
/ 11 октября 2018

Я пытаюсь записать журнал на сервер MsSql, используя serilog.Мое приложение - консольное приложение .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 голосов
/ 11 октября 2018

Только одна линия решила мою проблему.

Log.CloseAndFlush();
...