Корпоративная библиотека Semanti c Регистрация (SLAB) не ведется в базу данных SQL - PullRequest
0 голосов
/ 08 мая 2020

Я новичок в SLAB. EventSource записывает события в окно консоли, но не на сервер SQL. Я использую VS2019 на своем локальном p c. Я создал базу данных журналов с помощью sqlcmd в (localdb) \ ProjectsV13. Я вижу, что состояние экземпляра выполняется с использованием (sqllocaldb info projectsV13).

Просмотр базы данных журналов в SQL Server Object Explorer

(localdb) \ ProjectsV13 instance info

Debug показывает, что метод WriteEvent (1, req) выполняется, но в базу данных ничего не регистрируется.

См. EventSource и код слушателя ниже.

Код источника события:

namespace SLABSqlEventSinkEx
{
  using System.Diagnostics.Tracing;

  [EventSource(Name = "SqlApplicationEventSource")]
  public sealed class ApplicationEventSource : EventSource
  {
      public static ApplicationEventSource Log = new ApplicationEventSource();

      #region Inner Types

      public class Keywords
      {
          public const EventKeywords Database = (EventKeywords)1;
          //public const EventKeywords Database = (EventKeywords)1;
      }

      public class Tasks
      {
          public const EventTask PasswordHashing = (EventTask)0x1;
      }

      #endregion Inner Types

      #region Logging Methods

      [Event(
          1, 
          Keywords = Keywords.Database, 
          Message = "Start processing request Database - {0}", 
          Task = Tasks.PasswordHashing, 
          Opcode = EventOpcode.Start,
          Level = EventLevel.Informational)]
      public void RequestPasswordHashing(int req)
      {
          if (this.IsEnabled())
          {
              WriteEvent(1, req);
          }            
      }

      #endregion Logging Methods
  }
}

Слушатель:


    namespace SLABSqlEventSinkEx
{
    class Program
    {
       private static void Main(string[] args)
        {
            //create listener, sink and subscribe to event source 
            //var listener1 = ConsoleLog.CreateListener();
            //listener1.EnableEvents(ApplicationEventSource.Log, EventLevel.Informational, Keywords.All);

            var listener2 = new ObservableEventListener();
            listener2.LogToSqlDatabase(@"(localdb)\ProjectsV13",
                    @"Data Source=(localdb)\ProjectsV13;Initial Catalog=Logging;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

            listener2.EnableEvents(ApplicationEventSource.Log, EventLevel.Informational, Keywords.All);

            //var sqlDatabaseListener =
            //    SqlDatabaseLog.CreateListener(
            //        @"(localdb)\ProjectsV13",
            //        @"Data Source=(localdb)\ProjectsV13;Initial Catalog=Logging;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False");

            //sqlDatabaseListener.EnableEvents(ApplicationEventSource.Log, EventLevel.Informational, Keywords.All);


            ApplicationEventSource.Log.RequestPasswordHashing(10010);
            Console.ReadLine();
        }
    }
}


Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...