NLog日志(三)
程序开发日志输出常用逻辑
添加新配置

1.应用启动和关闭
添加新配置
<rules>
<!-- 默认日志记录器(仅控制台输出) -->
<logger name="*" minlevel="Debug" writeTo="logconsole" />
<!-- 记录应用启动 & 关闭日志 -->
<logger name="StartupLogger" minlevel="Info" writeTo="logfile" />
<!-- 仅手动调用时才写入文件 -->
<logger name="ManualFileLogger" minlevel="Debug" writeTo="logfile" />
</rules>
在Program.cs中
var startupLogger = LogManager.GetLogger("StartupLogger"); try { startupLogger.Info("应用启动...."); } catch (Exception ex) { startupLogger.Error(ex, "应用启动异常"); } finally { startupLogger.Info("应用关闭..."); // 记录关闭日志 LogManager.Shutdown(); // 关闭 NLog,确保所有日志写入文件 }
2.警告日志

基础模板
try { // 模拟一些操作 if (someCondition) { _logger.LogWarning("警告: 某些配置未按预期加载!"); } } catch (Exception ex) { _logger.LogError(ex, "发生了一个错误"); }
asp.net core针对所有数据库查询性能记录警告,怎么写
注册拦截器
builder.Services.AddSingleton<SqlQueryInterceptor>(); builder.Services.AddDbContext<DatabaseService>(options => { // 配置 MySQL 连接和拦截器 options.UseMySql(builder.Configuration.GetConnectionString("DefaultConnection"), ServerVersion.AutoDetect(builder.Configuration.GetConnectionString("DefaultConnection"))) .AddInterceptors(builder.Services.BuildServiceProvider().GetRequiredService<SqlQueryInterceptor>()); });
3.异常日志
4.系统健康日志
静,静,静

浙公网安备 33010602011771号