NLog日志(三)

news/2025/2/7 23:51:15/文章来源:https://www.cnblogs.com/cat-cat/p/18703468
程序开发日志输出常用逻辑

 

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/880292.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

XXL-CACHE v1.2.0 | 多级缓存框架

Release Notes1、【增强】多序列化协议支持:针对L2缓存,组件化抽象Serializer,可灵活扩展更多序列化协议; 2、【优化】移除冗余依赖,精简Core体积;XXL- CACHE 快速接入示例代码参考github仓库 /test 目录:https://github.com/xuxueli/xxl-cache/tree/master/xxl-cache-s…

将模型api集成到python中

1.今日成果 1-1从阿里百炼上获取使用API的代码,在本地配置好环境,运行。 1-2ollama上拉取视频理解的模型,却没有上传视频的界面,可以使用python代码加载模型 1-3huggingface上的模型可以通过transformer集成到python运行。 1-4Qwen模型本地部署的环境搭建好了 2.未解决的问…

注解反射之使用Class对象获取注解

代码如下package com.loubin;import java.lang.annotation.*; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;public class Main {public static void main(S…

ACM寒假集训第三次专题任务

ACM寒假集训第三次专题任务 一、Priority Queue 题目:解题思路: 对优先队列的直接运用,直接翻译题目即可。 AC代码: #include<iostream> #include<string> #include<queue> using namespace std; int main() {int k;string operation;priority_queue<…

一款基于 WPF 开源、功能全面的串口调试工具

前言 今天大姚给大家分享一款基于 WPF 开源(MIT License)、免费、功能全面的串口调试工具:BYSerial。 项目介绍 BYSerial是一款基于 WPF 开源(MIT License)、免费、功能全面的串口调试工具,支持中英文双语切换,具有通用串口调试工具的一般功能,如串口通讯调试、TCP通讯…

NLog日志(二)

NLog //日志输出builder.Logging.ClearProviders();builder.Logging.AddNLog("nlog.config");配置后默认自动全部输出需求:自动记录的输出到控制台,手动记录的输出到日志文件1.配置两个日志记录器 一个控制台,一个日志文件<rules><!-- 默认日志记录器(…

探索数据编码:Delta Encoding

写在前面 在解决Doris访问AWS上存储的Parquet文件时,曾碰到过Doris不支持Delta Encoding导致数据读取失败。于是打算整理下跟Delta Encoding相关的知识,为解决连续的整型存储、Timestamp、Date类型存储时的压缩效率问题提供参考。 数据编码指的是从一种数据格式转换成另一种数…

0207深度学习:构建个性化 ImageNet 数据集的 LeNet 和 MobileNet 实践

2月7日,晚上,19:30~21:00(主讲老师:郑祥)实验内容: 【深度学习】训练常见的卷积神经网络模型 如LeNet和MobileNet,能制作个性化的ImageNet数据集,涉及到MMEdu、EasyTrain等工具。【2/6 19:00】二阶段直播接入和一阶段直播方式一样。接入方式请参考一阶段内容:【2/5…

注解反射之通过Class对象来操作对象的属性和方法

代码如下package com.loubin;import java.lang.annotation.*; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method;public class Main {public static void main(S…

百度网盘的闲时下载卡入口

https://baijiahao.baidu.com/s?id=1820111080013395787&wfr=spider&for=pc 百度网盘的闲时下载卡入口首先,需要明确是,闲时下载卡的使用时间是01:00-09:00。闲时下载卡的使用时间是01:00-09:00其次,是电脑端的入口。1.在下载界面点击“立即提速”点击箭头指示…

2025年夸克网盘1TB免费空间领取教程,轻松扩容你的网盘

今天为大家带来的是2025年夸克网盘1TB免费空间领取教程,轻松扩容你的网盘。大家好呀!这里是专注为大家挖掘各种超值福利的小助手!你是不是也有过这样的烦恼——网盘存储空间不够用,电影、照片、文件放得满满的,完全没有余地?今天我要给大家带来一个超实用的福利,夸克网盘…

Duplicate Cleaner : 这款神器一键干掉重复文件

在如今这个数字时代,我们的电脑里存储着海量的文件。随着时间的推移,重复文件也越来越多,不仅占用宝贵的磁盘空间,还会让文件管理变得一团糟。 今天,就给大家介绍一款能轻松解决这一难题的神器 ——Duplicate Cleaner。Duplicate Cleaner 有普通版和功能更强大的 Pro 版。…