[英]Serilog doesn't write logs into AWS Elasticsearch Service
我正在使用 Serilog 將日志寫入我的 .NET Core 應用程序中的AWS Elasticsearch Service ,但是在登錄 Kibana 時我沒有看到任何寫入的日志。
public Startup(IConfiguration configuration, IHostingEnvironment hostingEnvironment)
{
const string esUrl = "https://aws-es-thinger.us-west-1.es.amazonaws.com";
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.Enrich.WithExceptionDetails()
.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(esUrl))
{
ModifyConnectionSettings = conn =>
{
var httpConnection = new AwsHttpConnection("us-east-1");
var pool = new SingleNodeConnectionPool(new Uri(esUrl));
var conf = new ConnectionConfiguration(pool, httpConnection);
return conf;
},
AutoRegisterTemplate = true
}).CreateLogger();
}
我能夠使用HttpClient
成功獲得響應。
此外,我還可以從瀏覽器加載 Kibana 和 ElasticSearch 網址。 請幫我解決我在這里缺少的東西。
編輯在啟動時連接時出現以下錯誤:
System.Net.Http.WinHttpException:無法建立與服務器的連接
我需要在連接設置中提供 AWS 訪問密鑰和秘密密鑰才能使其工作如下:
Log.Logger = new LoggerConfiguration()
.Enrich.FromLogContext()
.Enrich.WithExceptionDetails()
.WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(awsSettings.ElasticSearchUrl))
{
ModifyConnectionSettings = conn =>
{
var httpConnection = new AwsHttpConnection(awsSettings.Region
, new StaticCredentialsProvider(new AwsCredentials
{
AccessKey = awsSettings.AccessKey,
SecretKey = awsSettings.SecretKey,
}));
var pool = new SingleNodeConnectionPool(new Uri(awsSettings.ElasticSearchUrl));
var conf = new ConnectionConfiguration(pool, httpConnection);
return conf;
},
ConnectionTimeout = new TimeSpan(0, 10, 0),
IndexFormat = "xxxxx-{0:yyyy.MM}",
FailureCallback = e => Console.WriteLine("Unable to submit event " + e.MessageTemplate),
EmitEventFailure = EmitEventFailureHandling.WriteToSelfLog |
EmitEventFailureHandling.WriteToFailureSink |
EmitEventFailureHandling.RaiseCallback,
FailureSink = new LoggerConfiguration().WriteTo
.RollingFile(new JsonFormatter(), "XXXXX-{Date}.txt").CreateLogger()
})
.CreateLogger();
希望,它可以幫助將來的某個人。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.