You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
using Microsoft.AspNetCore.Builder;
|
|
|
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
|
|
|
using Serilog;
|
|
|
|
|
using Serilog.Events;
|
|
|
|
|
using SlnMesnac.Config;
|
|
|
|
|
using System;
|
|
|
|
|
using System.IO;
|
|
|
|
|
|
|
|
|
|
namespace SlnMesnac.Serilog
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Serilog
|
|
|
|
|
/// </summary>
|
|
|
|
|
public static class SerilogExtensions
|
|
|
|
|
{
|
|
|
|
|
public static IApplicationBuilder UseSerilogExtensions(this IApplicationBuilder app)
|
|
|
|
|
{
|
|
|
|
|
//启用Serilog中间件
|
|
|
|
|
app.UseSerilogRequestLogging();
|
|
|
|
|
|
|
|
|
|
#region 通过配置文件读取日志存放位置
|
|
|
|
|
var appConfig = app.ApplicationServices.GetService<AppConfig>();
|
|
|
|
|
var logPath = $"{appConfig.logPath}/Logs/{DateTime.UtcNow:yyyy-MM-dd}/";
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
|
|
Log.Logger = new LoggerConfiguration().MinimumLevel.Information().WriteTo.Console()
|
|
|
|
|
.WriteTo.File(Path.Combine(logPath, "Info.log"), LogEventLevel.Information, fileSizeLimitBytes: 5 * 1024)
|
|
|
|
|
.WriteTo.File(Path.Combine(logPath, "Error.log"), LogEventLevel.Error, fileSizeLimitBytes: 5 * 1024)
|
|
|
|
|
.WriteTo.File(Path.Combine(logPath, "Warn.log"), LogEventLevel.Warning, fileSizeLimitBytes: 5 * 1024)
|
|
|
|
|
//.WriteTo.File(Path.Combine(logPath, "Debug.log"), LogEventLevel.Debug, fileSizeLimitBytes: 5 * 1024)
|
|
|
|
|
.CreateLogger();
|
|
|
|
|
app.UseSerilogRequestLogging();
|
|
|
|
|
Log.Information($"系统初始化完成,日志存放路径:{logPath}");
|
|
|
|
|
return app;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|