Как мне зарегистрировать пользовательское поле в базе данных NLog?

В настоящее время я использую NLog на многих проектах. На некоторых я захожу в базу данных.

Вот что я хотел бы сделать:

CREATE TABLE [dbo].[NLogEntries](
  [Id] [bigint] IDENTITY(1,1) NOT NULL,
  [Origin] [nvarchar](100) NOT NULL,
  [LogLevel] [nvarchar](20) NOT NULL,
  [Message] [nvarchar](3600) NOT NULL,
  [CreatedOn] [datetime] NOT NULL,
  [OrderId] [int] NULL --Custom field!
)

И NLog.config с этой целью:


  
    INSERT INTO NLogEntries ([Origin], [Message], [LogLevel],[CreatedOn],[OrderId]) VALUES (@Origin,@Message,@LogLevel,@Date, @OrderId);
  
  
  
  
  
   

А затем запишите что-то вроде этого:

var logger = LogManager.GetCurrentClassLogger();
var orderId = 123;
logger.Debug("What is going on here", orderId);

Есть ли хороший способ сделать это и продолжать использовать NLog? Или я должен свернуть свой собственный регистратор и пропустить NLog, когда это требования?

Ответы на вопрос(4)

Ваш ответ на вопрос