欢迎光临
我们一直在努力

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

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

给作者买杯咖啡

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

支付宝扫一扫打赏

微信扫一扫打赏