ASP.NET Core学习——5
日志(Logging)
ASP.NET Core内建支持日志,也允许开发人员轻松切换为他们想用的其他日志框架。
通过dependency-injection请求ILoggerFactory或ILogger<T>,可为应用程序增加日志功能。如果请求了ILoggerFactory,那么日志记录器就必须使用它的CreateLogger方法。
var logger = loggerFactory.CreateLogger("Catchall Endpoint");
logger.LogInformation("No endpoint found for request {path}", context.Request.Path);
当应用程序添加一条日志记录时,必须指定日志级别。而在ASP.NET Core中详尽地定义了六个日志级别,通过增加重要性或严重程度排序。
1、Trace
用于记录最详细的日志消息,通常用于开发阶段调试问题。
因为这些消息可能包含敏感的应用程序数据,因此不建议用于生产环境,默认应禁用。
2、Debug
这种消息在开发阶段短期内比较有用。
它们包含一些可能会对调试有所助益、但没有长期价值的信息。
默认情况下这是最详细的日志。
3、Information
这种消息被用于跟踪应用程序的一般流程。
这种日志有一定的长期价值。
4、Warning
当应用程序出现错误或其他不会导致程序停止的流程异常或意外事件时,应使用警告级别,,以供日后调查。
建议在一个通用的地方处理警告级别的异常。
5、Error
当应用程序由于某些故障停止工作时,则需要记录错误日志。
这些消息应该指明当前活动或操作(比如当前的HTTP请求),而不是应用程序范围的故障。
6、Critical
当应用程序或系统崩溃、遇到灾难性故障,需要立即被关注时,应当记录关键级别的日志。例如,数据丢失、磁盘空间不够等。
ASP.NET Core学习——5的更多相关文章
- ASP.NET Core学习系列
.NET Core ASP.NET Core ASP.NET Core学习之一 入门简介 ASP.NET Core学习之二 菜鸟踩坑 ASP.NET Core学习之三 NLog日志 ASP.NET C ...
- WebAPI调用笔记 ASP.NET CORE 学习之自定义异常处理 MySQL数据库查询优化建议 .NET操作XML文件之泛型集合的序列化与反序列化 Asp.Net Core 轻松学-多线程之Task快速上手 Asp.Net Core 轻松学-多线程之Task(补充)
WebAPI调用笔记 前言 即时通信项目中初次调用OA接口遇到了一些问题,因为本人从业后几乎一直做CS端项目,一个简单的WebAPI调用居然浪费了不少时间,特此记录. 接口描述 首先说明一下,基于 ...
- ASP.NET Core学习指导
ASP.NET Core 学习指导 "工欲善其事必先利其器".我们在做事情之前,总应该做好充分的准备,熟悉自己的工具.就像玩游戏有一些最低配置一样,学习一个新的框架,也需要有一些基 ...
- Asp.Net Core学习笔记:入门篇
Asp.Net Core 学习 基于.Net Core 2.2版本的学习笔记. 常识 像Django那样自动检查代码更新,自动重载服务器(太方便了) dotnet watch run 托管设置 设置项 ...
- ASP.NET Core学习零散记录
赶着潮流听着歌,学着.net玩着Core 竹子学Core,目前主要看老A(http://www.cnblogs.com/artech/)和tom大叔的博客(http://www.cnblogs.com ...
- ASP.NET Core学习之三 NLog日志
上一篇简单介绍了日志的使用方法,也仅仅是用来做下学习,更何况只能在console输出. NLog已是日志库的一员大佬,使用也简单方便,本文介绍的环境是居于.NET CORE 2.0 ,目前的版本也只有 ...
- ASP.NET Core学习之一 入门简介
一.入门简介 在学习之前,要先了解ASP.NET Core是什么?为什么?很多人学习新技术功利心很重,恨不得立马就学会了. 其实,那样做很不好,马马虎虎,联系过程中又花费非常多的时间去解决所遇到的“问 ...
- ASP.NET Core学习总结(1)
经过那么长时间的学习,终于想给自己这段时间的学习工作做个总结了.记得刚开始学习的时候,什么资料都没有,光就啃文档.不过,值得庆幸的是,自己总算还有一些Web开发的基础.至少ASP.NET的WebFor ...
- Asp.net Core学习笔记
之前记在github上的,现在搬运过来 变化还是很大的,感觉和Nodejs有点类似,比如中间件的使用 ,努力学习ing... 优点 不依赖IIS 开源和跨平台 中间件支持 性能优化 无所不在的依赖注入 ...
- 2019年ASP.NET Core学习路线
- [先决条件] + C# + Entity Framework + ASP.NET Core + SQL 基础知识 - [通用开发技能] + 学习 GIT, 在 GitHub 中创建开源项目 + 掌 ...
随机推荐
- 泰坦尼克号沉没之谜,用数据还原真相——Titanic获救率分析(用pyecharts)
泰坦尼克号获救率数据分析报告,用数据揭露真相. 一,船上乘客生存率分析报告 泰坦尼克号生存率仅有38%的,可见此次事件救援不力,救生艇严重不足,且泰坦尼克号号撞得是冰山,海水冷,没有救生艇,在水里冻死 ...
- SSH known_hosts / authorized_keys
参考: http://blog.sina.com.cn/s/blog_148a693f10102vj8m.html 什么是SSH? 简单说,SSH是一种网络协议,用于计算机之间的加密登录. 如果一个用 ...
- Java学习之接口
接口作用:为类提供额外功能(方法) 一.接口定义 interface IDemo { ;//可以简写:int NUM=4; public abstract void show();//可以简写:voi ...
- Java封装JDBC数据库增、删、改、查操作成JAR文件,以供Web工程调用,适用于多种数据库
废话不多说,直接上源代码,最后有使用方法,当然,也可以作为普通公用类使用,只是封装成JAR更方便使用. package db.util; import java.io.BufferedReader; ...
- python *arg和**kwargs的区别
转载自:https://www.cnblogs.com/yunguoxiaoqiao/p/7626992.html 一.*args的使用方法 *args 用来将参数打包成tuple给函数体调用 举个栗 ...
- Python判断一个字符串中是否存在多个子串中的一个
在使用python的开发过程中,常常需要判断,字符串中是否存在子串的问题, 但判断一个字符串中是否存在多个字串中的一个时,如if (a or b) in c或者if x contains a|b|c| ...
- python 根据字典的键值进行排序
1.利用key排序 d = {'d1':2, 'd2':4, 'd4':1,'d3':3,} for k in sorted(d): print(k,d[k]) d1 2d2 4d3 3d4 1 2. ...
- linux下samba共享服务器搭建详解
这两天业务需求搭了一台服务器.要求samba共享文件. 葡萄美酒月光杯的前戏就省了,我们直接上干货. 1.yum方式安装samba yum -y install samba 2.将/etc/sam ...
- LinkButton(按钮)组件
一.//class加载方式 <div id="pos" class="easyui-linkbutton">按钮</div> 二.js加 ...
- 【记录】eclipse / STS 设置注释模版格式/导入注释模版格式
设置注释模板的入口:Window->Preference->Java->Code Style->Code Template 将如下保存在新创建的xml文件中,导入进去 < ...