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


posted @ 2025-02-07 23:47  爱晒太阳的懒猫。。  阅读(37)  评论(0)    收藏  举报