如何在.net应用程序中使用Elastic.Serilog.Sinks使用serilog记录到elasticsearch

问题描述 投票:0回答:1

我想使用serilog登录elasticsearch。

我已将 Elastic.Serilog.Sinks 包添加到我的应用程序中。 但是在配置serilog elasticsearch配置时无法传递用户名和密码。

我的假设是,在使用elasticsearch接收器配置serilog时,我需要传递日志索引名称、url、用户名、密码。

https://www.elastic.co/guide/en/ecs-logging/dotnet/current/serilog-data-shipper.html

上面的 url 有使用 url 配置的示例。另外,没有索引名称。

日志索引名称和数据流名称是否相同?

配置serilog elasticsearch配置时如何传递用户名和密码?

.net elasticsearch logging serilog serilog-sinks-elasticsearch
1个回答
0
投票

您可以安装

Elastic.Clients.Elasticsearch
并尝试这个

var settings = new ElasticsearchClientSettings(new Uri("https://10.96.5.5:9200"))
        .CertificateFingerprint("xxx")
        .Authentication(new BasicAuthentication("elastic", "xxx"));

var esClient = new ElasticsearchClient(settings);

var esOptions = new ElasticsearchSinkOptions(esClient.Transport)
{
    BootstrapMethod = BootstrapMethod.Failure,
};

Log.Logger = new LoggerConfiguration()
    .WriteTo.Elasticsearch(esOptions)
    .CreateLogger();

或者这个:

Log.Logger = new LoggerConfiguration()
 .WriteTo.Elasticsearch([new Uri("https://10.96.5.5:9200")], opts =>
 {
     opts.BootstrapMethod = BootstrapMethod.Failure;
 }, transport =>
 {
     transport.CertificateFingerprint("xxx");
     transport.Authentication(new BasicAuthentication("elastic", "xxx"));
 })
 .CreateLogger();
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.