net程序-Serilog 集成 SQL Server LocalDB 日志记录指南
📝 Serilog 集成 SQL Server LocalDB 日志记录指南
🌟 概述
本文档指导如何在 .NET 6 应用程序中配置 Serilog 将日志异步写入 SQL Server LocalDB,并通过依赖注入使用结构化日志记录。
🛠️ 环境准备
- 📦 安装 .NET 6 SDK
- 🗄️ 安装 [SQL Server Express LocalDB](https://docs.microsoft.com/zh-cn/sql/database-engine/configure-windows/sql-server-express український)
- 💻 安装 Visual Studio Code 或 Visual Studio
⚙️ 配置步骤
1. 创建新项目
dotnet new webapi -n SerilogExample # 创建 Web API 项目
cd SerilogExample # 进入项目目录
2. 安装 NuGet 包
# 安装 Serilog 核心库
dotnet add package Serilog.AspNetCore# 安装 SQL Server 接收器
dotnet add package Serilog.Sinks.MSSqlServer# 安装异步日志支持
dotnet add package Serilog.Sinks.Async# 安装 SQL Server 数据提供程序
dotnet add package Microsoft.Data.SqlClient
3. 配置数据库连接
修改 appsettings.json
添加连接字符串:
{"ConnectionStrings": {// LocalDB 连接字符串,自动创建数据库文件"LogDatabase": "Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\Logs.mdf;Integrated Security=True"},"Serilog": {"MinimumLevel": {// 默认日志级别"Default": "Information",// 命名空间特定的日志级别"Override": {"Microsoft": "Warning", // 减少 Microsoft 组件的日志"Microsoft.Hosting.Lifetime": "Information","SerilogExample": "Verbose" // 应用程序命名空间使用最详细的日志}}}
}
4. 配置 Serilog
修改 Program.cs
配置 Serilog:
using Serilog;
using Serilog.Sinks.MSSqlServer;var builder = WebApplication.CreateBuilder(args);// 配置 Serilog 日志记录
var columnOptions = new ColumnOptions();
// 移除不需要的默认列
columnOptions.Store.Remove