// // // using ERP.Framework.Config; using Serilog; namespace ERP.Framework.Logger { public static class LoggerBuilder { public static ILogger CreateLogger(LogConfig logConfig) { // 扩展增加Elk 或 MongoDB等 //if (logConfig.LogType == Enum.LogTypeEnum.Els) //{ // return ... //} return AddLocalLog(logConfig); } private static ILogger AddLocalLog(LogConfig logConfig) { var outputTemplete = "[{Timestep:yyyy-MM-dd HH:mm:ss.fff}] {Level} ({SourceContext}) {Message} {NewLine} {Exception}"; var logConfiguration = new LoggerConfiguration() .MinimumLevel.Debug() .WriteTo.File(logConfig.FilePath, rollingInterval: RollingInterval.Day,// 文件类别(分支,小时,天) outputTemplate: outputTemplete, // 日志模板 retainedFileCountLimit: 31, // 日志文件最大个数 retainedFileTimeLimit: TimeSpan.FromDays(7), // 日志保存时间 rollOnFileSizeLimit: true, // 是否限制单个文件最大大小 fileSizeLimitBytes: 52428800 // 单个文件最大大小 ); return logConfiguration.CreateLogger(); } } }