一、在.net 中使用日志系统
1 // 可以直接写Loging Provider 2 services.AddLoging(builder=>{ 3 builder.AddConsole();//console log 4 ... 5 });
二、文本日志
.net 没有提供文本日志,使用第三方的日志库。
- 日志文件按照日期区分,避免单个日志文件过大。
- 限制日志总个数或这总大小,隔一段时间删除旧的日志,避免日志文件把磁盘称爆。
- 限制单个文件大小,避免日志文件太大问题。
2.1 Nlog (可配置结构化日志,比较麻烦)
1、装nuget包,将配置文件拷到项目根目录文件下;
2、builder.AddNlog();
3、Nlog rules可以设置分模块记录日志、可以设置最大文件数maxArchiveFiles、可以设置文件最大存储archvieAboveSize
2.2 Serilog 结构化日志
1.nuget包Serilog.AspNetCore
2.Log.Logger= new LoggerConfiguration().minimumLevel.Debug().Enrich.RromLogContext()
.WriteTo.Console(new JsonFormatter())
.WriteTo.Exceptionless()
.CreateLogger();
builder.AddSerilog();
详情查看官网
三、日志分类
不同级别不同模块日志记录到不同地方;(通过使用日志系统的配置功能实现)
四、日志过滤
项目不同阶段需要记录日志不同 刚上线 Debug。。。
五、集中日志服务
1、公有云厂商提供了日志云服务
2、Exceptionless 或者 ELK
exceptionless 自己部署 ,在https://exceptionless.com/docs/下面找到菜单“self hosting”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下