Код: Выделить всё
Код: Выделить всё
"WriteTo": [
{
"Name": "MySQL",
"Args": {
"connectionString": "server=myserver;port=3306;Database=mydatabase;uid=username;pwd=password;",
"tableName": "Logs",
"autoCreateSqlTable": true,
"batchPostingLimit": 100,
"period": "0.00:00:10",
Я снова запустил приложение и попытался записать несколько новых добавленных журналов, но ничего не было записано. То же количество записей (21), которое было в таблице ранее, является единственным, что все еще там. Никаких ошибок или чего-то еще.
Я удаляю таблицу, снова запускаю приложение, и все логи записываются (включая старые и новые). Вот как я инициализирую Serilog в Program.cs:
Код: Выделить всё
var builder = WebApplication.CreateBuilder(args);
IConfiguration configuration = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.Build();
builder.Host.UseSerilog((context, config) =>
{
config
.ReadFrom.Configuration(configuration)
.Enrich.FromLogContext();
});
builder.Services.AddEndpointsApiExplorer();
РЕДАКТИРОВАТЬ: я добавил следующее в appsettings.json:
Код: Выделить всё
"autoCreateSqlDatabase": false,
"autoCreateSqlTable": false,
Код: Выделить всё
logger.Information("This should be in the database");
Подробнее здесь: https://stackoverflow.com/questions/781 ... usly-exist
Мобильная версия