Docker-compose不读取环境变量写入日志到Elasticsearch
Docker-compose not reading the environment variables to write logs to Elasticsearch
我正在设置 docker-compose.yml 文件来读取 docker 图像的环境变量。我的宿主项目中引用了 serilog.sinks.elasticsearch nuget 包。
如果我 运行 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"
}
}
]
}
docker-compose 中设置的最小级别得到尊重。
如何设置docker-compose.yml读取sink并将日志发送到elasticsearch数据库?
尝试使用双下划线分隔符,例如 - Serilog__MinimumLevel=Verbose
。双下划线是 Microsoft.Extensions.Configuration.EnvironmentVariables
包的默认分隔符(如果您没有在 ConfigurationBuilder
组合代码中覆盖它)。 MSDN Environment Variables Configuration Provider reference
数组环境变量设置需要指定索引。
检查这个:
Serilog__Using__0=Serilog.Sinks.Elasticsearch
Serilog__WriteTo__0__Name=Elasticsearch
Serilog__WriteTo__0__Args__nodeUris=http://localhost:9200
以下答案有效。向@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
我正在设置 docker-compose.yml 文件来读取 docker 图像的环境变量。我的宿主项目中引用了 serilog.sinks.elasticsearch nuget 包。
如果我 运行 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"
}
}
]
}
docker-compose 中设置的最小级别得到尊重。
如何设置docker-compose.yml读取sink并将日志发送到elasticsearch数据库?
尝试使用双下划线分隔符,例如 - Serilog__MinimumLevel=Verbose
。双下划线是 Microsoft.Extensions.Configuration.EnvironmentVariables
包的默认分隔符(如果您没有在 ConfigurationBuilder
组合代码中覆盖它)。 MSDN Environment Variables Configuration Provider reference
数组环境变量设置需要指定索引。
检查这个:
Serilog__Using__0=Serilog.Sinks.Elasticsearch
Serilog__WriteTo__0__Name=Elasticsearch
Serilog__WriteTo__0__Args__nodeUris=http://localhost:9200
以下答案有效。向@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