NLog 5.3.4 Не записывать журналы в таблицу MSSQLC#

Место общения программистов C#
Ответить
Anonymous
 NLog 5.3.4 Не записывать журналы в таблицу MSSQL

Сообщение Anonymous »

Используя API .NET Core 8, я попытался реализовать ведение журнала в таблице SQL1.
NLog записывает журнал в текстовый файл, но НЕ создает записи. в таблице SQL. Не могу понять почему.
Я использовал следующие ссылки: Program.cs

Код: Выделить всё

using NLog;
using NLog.Web;

namespace Api
{
public class Program
{
public static void Main(string[] args)
{
var builder = WebApplication.CreateBuilder(args);

// Add services to the container.
var logger = NLog.LogManager.Setup()
.LoadConfigurationFromXml("nlog.config")
.GetCurrentClassLogger();
try
{
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

builder.Logging.ClearProviders();
builder.Logging.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Information);
builder.Host.UseNLog();

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();
}
catch (Exception exception)
{
// NLog: catch setup errors
logger.Error(exception, "Stopped program because of exception");
throw;
}
finally
{
// Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux)
NLog.LogManager.Shutdown();
}
}
}
}
nlog.config

Код: Выделить всё








commandText="insert into dbo.Log (Logged, Level, Message, Logger, Exception)
values (@Logged,@Level,@Message,@Logger,@Exception);"




















HomeController.cs

Код: Выделить всё

using Microsoft.AspNetCore.Mvc;

namespace Api.Controllers
{
[ApiController]
[Route("[controller]")]
public class HomeController : ControllerBase
{

private readonly ILogger _logger;

public HomeController(ILogger logger)
{
_logger = logger;
}

[HttpGet(Name = "GetHome")]
public string Get()
{
_logger.LogInformation("GetHome was called");
return "Success";
}
}
}

Logfile.txt, в котором показаны созданные журналы
[img]https://i.sstatic. net/gYogY7hI.png[/img]
Моя таблица БД:
Изображение

SQL для создания таблицы журналов:

Код: Выделить всё

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

-- Note I allowed nulls in all columns except the identity
-- to ensure that the non null constraint was not causing the issue.

CREATE TABLE [dbo].[Log](
[Id] [int] IDENTITY(1,1) NOT NULL,
[MachineName] [nvarchar](50) NULL,
[Logged] [datetime] NULL,
[Level] [nvarchar](50) NULL,
[Message] [nvarchar](max) NULL,
[Logger] [nvarchar](250) NULL,
[Exception] [nvarchar](max) NULL,
CONSTRAINT [PK_dbo.Log] PRIMARY KEY CLUSTERED
(
[Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
Пакеты Nuget
Изображение

1Microsoft SQL Server 2019 (RTM-GDR) (KB5046859) — 15.0.2130.3 (X64) 18 октября 2024 г. 15:25:23 Авторские права (C) 2019 Microsoft Corporation Express Edition (64-разрядная версия) в Windows 10 Pro 10.0 (сборка 19045: ) (гипервизор)

Подробнее здесь: https://stackoverflow.com/questions/792 ... ssql-table
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»