Docker-compose не читает переменные окружения для записи логов в Elasticsearch - PullRequest
1 голос
/ 15 апреля 2019

Я устанавливаю файл docker-compose.yml для чтения переменных среды для образа docker.У меня есть пакет nuget serilog.sinks.elasticsearch, на который есть ссылка в моем хост-проекте.

Если я запускаю проект в Visual Studio с appsettings.json, он читает настройки и отправляет журналы в Elasticsearch, но не через docker-compose.

Спецификация среды docker-compose.yml для образа docker:

environment:
      - serilog:MinimumLevel=Verbose
      - serilog:using=Serilog.Sinks.Elasticsearch
      - serilog:WriteTo:Elasticsearch.nodeUris=http://localhost:9200

Работает локальный appsettings.json.

"Serilog": {
        "MinimumLevel": "Debug",
        "WriteTo": [
            {
                "Name": "Elasticsearch",
                "Args": {
                    "nodeUris": "http://localhost:9200"
                }
            }
        ]
    }

Устанавливается MinimumLevel, установленный в docker-compose.

Как настроить docker-compose.yml для чтения приемника и отправки журналов в базу данныхasticsearch?

Ответы [ 2 ]

1 голос
/ 16 апреля 2019

следующие ответы сработали.кричать @ SKorolchuk.

- serilog:MinimumLevel=Verbose
- Serilog:WriteTo:0:Name=Elasticsearch
- serilog:WriteTo:0:Args:nodeUris=http://localhost:9200

или

Serilog__Using__0=Serilog.Sinks.Elasticsearch
Serilog__WriteTo__0__Name=Elasticsearch
Serilog__WriteTo__0__Args__nodeUris=http://localhost:9200
1 голос
/ 16 апреля 2019

Попробуйте использовать двойной знак подчеркивания, например - Serilog__MinimumLevel=Verbose. Двойное подчеркивание является разделителем по умолчанию для пакета Microsoft.Extensions.Configuration.EnvironmentVariables (если вы не переопределяете его в коде композиции ConfigurationBuilder). Справочник поставщика конфигурации переменных среды MSDN

Массив Для установки переменной среды требуется указатель индекса.

Проверьте это:

Serilog__Using__0=Serilog.Sinks.Elasticsearch
Serilog__WriteTo__0__Name=Elasticsearch
Serilog__WriteTo__0__Args__nodeUris=http://localhost:9200
...