以下是一个简单的Serilog配置示例,您可以根据自己的需求进行修改:
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup()
.UseSerilog((hostingContext, loggerConfiguration) =>
{
loggerConfiguration
.Enrich.FromLogContext()
.WriteTo.Console()
.WriteTo.Elasticsearch(new Serilog.Sinks.Elasticsearch.ElasticsearchSinkOptions
{
IndexFormat = "myindex-{0:yyyy.MM}",
AutoRegisterTemplate = true,
AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv6,
MinimumLogEventLevel = LogEventLevel.Information,
ModifyConnectionSettings = x => x.BasicAuthentication("user", "pw"),
ConnectionPool = new Elasticsearch.Net.StaticConnectionPool(new[] { new Uri("http://localhost:9200") }),
EmitEventFailure = EmitEventFailureHandling.WriteToSelfLog |
EmitEventFailureHandling.RaiseCallback |
EmitEventFailureHandling.ThrowException,
FailureCallback = e => Console.WriteLine("Unable to submit event " + e.MessageTemplate),
});
});