using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace gpt_api.Web.Core.Setup
{
///
/// 日志扩展集成
///
public static class LogSetup
{
///
/// 添加日志组件扩展集成
///
///
public static void AddLogSetup(this IServiceCollection services)
{
//全局webapi监听日志
services.AddMvcFilter();
//添加日志输入到文件配置,每天创建一个日志文件
services.AddFileLogging("logs/{0:yyyy}-{0:MM}-{0:dd}/info.log", options =>
{
options.WriteFilter = (logMsg) =>
{
return logMsg.LogLevel == LogLevel.Information;
};
options.FileNameRule = fileName =>
{
return string.Format(fileName, DateTime.UtcNow);
};
options.DateFormat = "yyyy-MM-dd HH:mm:ss(zzz) dddd";
});
services.AddFileLogging("logs/{0:yyyy}-{0:MM}-{0:dd}/error.log", options =>
{
options.WriteFilter = (logMsg) =>
{
return logMsg.LogLevel == LogLevel.Error;
};
options.FileNameRule = fileName =>
{
return string.Format(fileName, DateTime.UtcNow);
};
options.DateFormat = "yyyy-MM-dd HH:mm:ss(zzz) dddd";
});
services.AddFileLogging("logs/{0:yyyy}-{0:MM}-{0:dd}/warning.log", options =>
{
options.WriteFilter = (logMsg) =>
{
return logMsg.LogLevel == LogLevel.Warning;
};
options.FileNameRule = fileName =>
{
return string.Format(fileName, DateTime.UtcNow);
};
options.DateFormat = "yyyy-MM-dd HH:mm:ss(zzz) dddd";
});
}
}
}