以下 Serilog 日志配置代码会将日志写入应用目录下的 logs 文件夹,并分为全量文件和错误日志文件。
全量日志文件放在 logs 文件夹下,Debug 模式下会记录全部的日志输出。每小时生成一个文件,超过 100 个文件时自动清理旧文件。
错误日志文件放在 logs 文件夹的 errors 子文件夹下,只包含 Warning 及以上的日志记录。每天生成一个文件,超过 100 个文件时自动清理旧文件。
private static void CreateLogger() { Log.Logger = new LoggerConfiguration() #if DEBUG .MinimumLevel.Debug() #else .MinimumLevel.Information() #endif .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .Enrich.FromLogContext() .WriteTo.File( Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "logs", "log-.txt"), rollingInterval: RollingInterval.Hour, retainedFileCountLimit: 100 ) .WriteTo.Logger( l => l.Filter.ByIncludingOnly(e => e.Level >= LogEventLevel.Warning) .WriteTo.File( Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "logs", "errors", "log-.txt"), rollingInterval: RollingInterval.Day, retainedFileCountLimit: 100 ) ) #if DEBUG .WriteTo.Async(c => c.Console()) #endif .CreateLogger(); }