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.系统健康日志