学无先后达者为师!
不忘初心,砥砺前行。

Serilog 将错误写入单独的日志文件并自动清理

以下 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();
}
赞(1) 打赏
未经允许不得转载:码农很忙 » Serilog 将错误写入单独的日志文件并自动清理

评论 抢沙发

给作者买杯咖啡

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫

登录

找回密码

注册