Serilog和NLog是C#中常用日志框架,Serilog支持结构化日志和多种输出,适合现代日志系统集成;NLog通过XML配置灵活管理日志规则,性能优秀。两者均需正确配置输出目标、滚动策略并防止敏感信息泄露,选择取决于团队习惯与运维需求。

在C#开发中,良好的日志记录是排查问题、监控系统运行状态的重要手段。Serilog 和 NLog 是两个广泛使用的第三方日志框架,它们功能强大、配置灵活,支持多种输出目标(如控制台、文件、数据库、远程服务等)。下面介绍如何在 C# 项目中使用 Serilog 或 NLog 进行日志记录。
Serilog 以结构化日志著称,特别适合与 Elasticsearch、Seq、Application Insights 等现代日志分析工具集成。
1. 安装 NuGet 包:
可以通过 NuGet 包管理器或命令行安装:
dotnet add package Serilog2. 配置并初始化 Logger:
在 Program.cs 或应用启动处配置:
using Serilog;Log.Logger = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File("logs/myapp.txt", rollingInterval: RollingInterval.Day)
.CreateLogger();
// 使用日志
Log.Information("应用程序启动");
Log.Warning("这是一个警告");
Log.Error("发生错误");
// 关闭并刷新日志(程序退出前)
Log.CloseAndFlush();
3. 在 ASP.NET Core 中集成:
替换默认日志提供者:
public static IHostBuilder CreateHostBuilder(string[] args) =>NLog 是另一个成熟稳定的日志框架,配置主要通过 XML 文件完成,灵活性高,性能优秀。
1. 安装 NuGet 包:
2. 添加 nlog.config 配置文件:
在项目根目录添加 nlog.config,设置“复制到输出目录”为“始终复制”:
<?xml version="1.0" encoding="utf-8"?><targets>
<target xsi:type="File" name="fileTarget" fileName="logs/${shortdate}.log"
layout="${longdate} ${level:uppercase=true} ${message} ${exception:format=tostring}" />
<target xsi:type="Console" name="consoleTarget"
layout="${colored-literal:text=${level:uppercase=true}:color=DarkRed} ${message}" />
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="fileTarget,consoleTarget" />
</rules>
</nlog>
3. 在 ASP.NET Core 中启用 NLog:
修改 Program.cs:
using NLog;var builder = WebApplication.CreateBuilder(args);
// 添加 NLog
builder.Host.UseNLog();
var app = builder.Build();
// 正常配置中间件...
4. 在代码中使用:
private readonly ILoggerpublic HomeController(ILogger
{
_logger = logger;
}
_logger.LogInformation("用户访问首页");
_logger.LogError(ex, "处理请求时出错");
如果追求结构化日志和与现代日志平台的集成(如 Seq、Elasticsearch),推荐使用 Serilog。它的 API 清晰,链式配置直观。
如果偏好基于配置文件的管理方式,或者需要更细粒度的路由规则、条件写入等高级功能,NLog 更加合适,且对性能影响极小。
基本上就这些,两种框架都能很好地满足 C# 项目的日志需求,选择哪一个更多取决于团队习惯和运维体系。不复杂但容易忽略的是正确关闭日志、设置滚动策略和避免敏感信息泄露。
以上就是C#如何进行日志记录 C#使用Serilog或NLog配置日志框架的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号