经常使用的诊断中间件:sql
放在管道的最前面
网站启动以后
不管我输入任何的地址 都会到这个页面。由于他放在管道的最前面了
开发模式下显示异常的页面
这个中间件显示400到600之间的错误代码
先把上面两个注释掉,抛出异常看看会发生什么
在HomeController里面抛出个异常信息
须要把欢迎页的中间件也去掉
页面这里报了个错误 。咱们继续运行 。
页面上显示的错误
而后咱们再把这个中间件 启动一下。UseDeveloperExceptionPage
这样页面启动后,就能够看到异常的详细信息了。
这个页面只能在开发的时候用。
浏览器
这是生成的时候用的
在HomeController里面本身写一个MyError的Action
改为本身建立的Action
建立MyError的view 页面
改为生产环境
报错会直接跳转到咱们的异常页面
服务器
访问一个不存在的,使用了这个中间件就会返回一个状态码和文字
若是没有这个中间件呢?
这个页面是浏览器端返回的页面,服务器端咱们就没有返回任何页面
最终这些都用上
ide
和EF的迁移有关
迁移以后有个页面,让你点击应用这个迁移。函数
EventSource和DiagnosticSource 是在core里面内置的,默认就会使用
咱们主要是使用ILogger,这里也主要讲ILogger
网站
内置的 Log Providers:日志
Log 等级:orm
‘
F12进去看源码
core里面默认已经添加了这几种
若是想改变这些默认的配置
读取配置文件的配置
这里暂时先注释掉
早HomeController里面使用方法,构造函数注入进来
新建常量
上面定义的常量在这里当作第一个参数。第二个参数就是咱们记入的日志信息
控制台看到输出的日志信息
EventID是1000 日志信息在下面
主要的三个:分类、eventID、日志信息
日志内传入参数
也能够这么去写
推荐使用这种写法
看起来两种写法是同样的。可是对于其余Provider来讲。这个id参数能够单独提出来,若是写在里面的话就提不出来。
视频
默认的配置
Debug以上的级别,日志都会记录下来
具体的能够看文档:
server
core后来用的比较多的是EImah,这里也就说下EImah
nuget进行安装
输出到控制台还须要添加这个媒介
还有比较流行的sql server
这个不引入
这个不引入
还有这种文件的形式,把File也引入
配置方法,视频中没有录制
MinimumLevel.Debug()最小记录级别是Debug
MinimumLevel.Override("Microsoft", LogEventLevel.Information)若是遇到Microsoft的命名空间,记录最小级别是InfoMation
.Enrich.FromLogContext()经过上下文能够记录一些其余信息
视频里弹幕仍是说NLog用的比较多一点
添加了两个sinks一个是Console一个是输出文件File
写到文件里文件名叫log.txt。天天生成一个文件
这里能够改为每分钟生成一个文件
最后建立这个log:
.CreateLogger() 而后在这里使用这个Serilog
运行程序,控制台文字颜色已经发生变化
根目录有文件生成:
修改为生成到文件夹内:logs文件夹内
再次运行