serilog elasticsearch

quhf5bfb  于 2021-06-10  发布在  ElasticSearch
关注(0)|答案(0)|浏览(306)

我有一个微服务api,我试图记录所有的请求进来…所以elasticsaerch服务和kibana在不同的服务器上。我正在使用serilog.sinks.elasticsearch包将数据发送到elasticsearch。
这两个服务器都没有运行docker,它们只是普通的windows服务器。
我的代码看起来像这样设置日志。。。

public static Logger Create(IConfiguration configuration)
        {
            var elasticsearchSection = configuration.GetSection("Elasticsearch");
            if (elasticsearchSection != null)
            {
                return CreateLoggerConfiguration(elasticsearchSection).CreateLogger();
            }
            return null;
        }

        private static LoggerConfiguration CreateLoggerConfiguration(IConfigurationSection section)
        {
            var loggerConfiguration = new LoggerConfiguration();

            var url = section.GetValue<string>("Url");
            var minimumLogLevel = section.GetValue<string>("MinimumLogLevel");
            var minimumLogEventLevel = section.GetValue<string>("MinimumLogEventLevel");

            SetLoggerConfigurationMinimumLogLevel(minimumLogLevel, loggerConfiguration);

            loggerConfiguration.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(GetLoggingUri(url))
            {
                MinimumLogEventLevel = ReturnLogEventLevel(minimumLogEventLevel),
                AutoRegisterTemplate = true
            });
            loggerConfiguration.Enrich.FromLogContext();

            return loggerConfiguration;
        }

在我的创业公司,我用的是cs services.AddLogging(loggingBuilder => loggingBuilder.AddSerilog(dispose: true)); 在configureservices方法中。。。
但显然我不能在我的kibana中创建索引。
你知道为什么这样不行吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题