在现代C#应用程序开发中,高效的日志记录是调试、监控和维护系统稳定性的关键。而 Serilog 正是目前最受欢迎的结构化日志框架之一。本文将手把手教你如何将 Serilog C#日志框架 集成到你的 .NET 项目中,即使是编程小白也能轻松上手!
Serilog 支持结构化日志,这意味着你可以将日志信息以键值对的形式存储,便于后续分析。它还支持多种输出目标(如文件、控制台、数据库、Elasticsearch等),并且配置简单、性能优异。
你可以使用 Visual Studio 或 VS Code 创建一个 .NET Core / .NET 5+ 控制台应用、Web API 或 ASP.NET Core Web 应用。本教程以 .NET 6 控制台程序为例。
打开终端(或 Visual Studio 的“包管理器控制台”),执行以下命令来安装必要的 Serilog 包:
dotnet add package Serilogdotnet add package Serilog.Sinks.Consoledotnet add package Serilog.Sinks.File - Serilog:核心库
- Serilog.Sinks.Console:将日志输出到控制台
- Serilog.Sinks.File:将日志写入文件
打开 Program.cs 文件,替换为以下代码:
using Serilog;// 配置 SerilogLog.Logger = new LoggerConfiguration() .MinimumLevel.Debug() // 设置最低日志级别 .WriteTo.Console() // 输出到控制台 .WriteTo.File("logs/log-.txt", rollingInterval: RollingInterval.Day) // 按天分割日志文件 .CreateLogger();try{ Log.Information("应用程序启动成功!"); // 你的业务逻辑代码 Console.WriteLine("Hello, Serilog!"); Log.Debug("这是一个调试日志"); Log.Warning("这是一个警告日志");}catch (Exception ex){ Log.Fatal(ex, "应用程序发生严重错误");}finally{ Log.CloseAndFlush(); // 确保日志写入完成} 这段代码完成了以下操作:
Debuglogs/log-20240520.txt 格式)CloseAndFlush() 确保所有日志写入磁盘运行你的程序,你会在控制台看到日志输出,同时在项目根目录下生成 logs 文件夹,里面包含当天的日志文件。
如果你使用的是 ASP.NET Core 项目,还可以通过 UseSerilog() 方法在 Program.cs 中全局集成:
using Serilog;var builder = WebApplication.CreateBuilder(args);// 配置 SerilogLog.Logger = new LoggerConfiguration() .WriteTo.Console() .WriteTo.File("logs/webapp-.txt", rollingInterval: RollingInterval.Day) .CreateLogger();builder.Host.UseSerilog(); // 关键:将 Serilog 注入到 Hostvar app = builder.Build();app.MapGet("/", () => "Hello Serilog in ASP.NET Core!");app.Run(); 这样,整个 Web 应用的日志都会通过 Serilog 处理,包括请求日志、异常日志等。
通过本教程,你已经掌握了 C#项目集成Serilog 的基本方法。无论是控制台应用还是 Web 应用,Serilog 都能提供强大而灵活的日志记录能力。掌握 .NET日志记录教程 中的核心技巧,将极大提升你的开发效率和系统可观测性。
提示:更多高级功能(如 JSON 格式输出、日志过滤、自定义属性等)可参考官方文档:https://serilog.net/
关键词回顾:Serilog C#日志框架、C#项目集成Serilog、.NET日志记录教程、Serilog配置方法。
本文由主机测评网于2025-12-20发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/20251210253.html