Конфигурация для Serilog.Sinks.MySQL при использовании файла appsettings.json - PullRequest
0 голосов
/ 29 апреля 2019

Я добавил Serilog в свое приложение, и Console Sink прекрасно работает. Затем я добавил приемник MySQL в конфигурацию. Мои настройки:

"Serilog": {
    "Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.MySQL" ],
    "MinimumLevel": "Debug",
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "MySQL",
        "Args": {
          "connectionString": "server=<server>;uid=<username>;pwd=<password>;database=logging_database",
          "tableName": "logging",
          "storeTimestampInUtc": true
        }
      }
    ],
}

Я могу получить доступ к базе данных с помощью phpMyAdmin, поэтому я знаю, что она работает.

Я получаю ошибку:

Error: 0 : Unable to connect to any of the specified MySQL hosts.

Кто-нибудь видел это или знает, как это исправить ????

1 Ответ

0 голосов
/ 30 апреля 2019

Похоже, проблема связана с разрешением имени. Сервер MySql, к которому я подключался, размещался на другом сервере. Я собрал быструю установку на запасной машине и просто использовал IP-адрес, и он работал нормально. Итак, догадываясь, я попытался использовать IP-адрес вместо имени, и это сработало.

Мне также пришлось добавить SslMode = none в строку подключения. Я обнаружил, что приемник не изящно обрабатывает соединения, которые не поддерживают SSL.

...