|
|
|
@ -2,38 +2,21 @@ using Microsoft.AspNetCore.Http; |
|
|
|
using Microsoft.Extensions.Configuration; |
|
|
|
using Serilog; |
|
|
|
using Serilog.Exceptions; |
|
|
|
using Serilog.Exceptions.Core; |
|
|
|
using Serilog.Sinks.Elasticsearch; |
|
|
|
using System; |
|
|
|
using System.IO; |
|
|
|
using System.Text; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Microsoft.Extensions.Hosting; |
|
|
|
|
|
|
|
namespace Lion.AbpPro.Extensions |
|
|
|
{ |
|
|
|
public static class SerilogToEsExtensions |
|
|
|
{ |
|
|
|
public static void SetSerilogConfiguration(LoggerConfiguration loggerConfiguration, IConfiguration configuration, |
|
|
|
IHostEnvironment hostingEnvironment) |
|
|
|
public static void SetSerilogConfiguration(LoggerConfiguration loggerConfiguration, IConfiguration configuration) |
|
|
|
{ |
|
|
|
// 默认读取 configuration 中 "Serilog" 节点下的配置
|
|
|
|
loggerConfiguration.ReadFrom.Configuration(configuration) |
|
|
|
.Enrich.WithExceptionDetails() |
|
|
|
.Enrich.WithExceptionDetails(new DestructuringOptionsBuilder() |
|
|
|
.WithDefaultDestructurers() |
|
|
|
) |
|
|
|
.Enrich.FromLogContext() |
|
|
|
.WriteTo.Console(); |
|
|
|
|
|
|
|
if (hostingEnvironment.IsDevelopment()) |
|
|
|
{ |
|
|
|
loggerConfiguration.WriteTo.File("logs/logs.txt", rollingInterval: RollingInterval.Day); |
|
|
|
} |
|
|
|
loggerConfiguration.WriteTo.File("logs/logs.txt", rollingInterval: RollingInterval.Day); |
|
|
|
|
|
|
|
var writeToElasticSearch = configuration.GetValue("ElasticSearch:Enabled", false); |
|
|
|
|
|
|
|
|
|
|
|
// LogToElasticSearch:Enabled = true 才输出至ES
|
|
|
|
if (!writeToElasticSearch) |
|
|
|
return; |
|
|
|
|