脚本宝典收集整理的这篇文章主要介绍了.NET 6开发TodoList应用之请求日志组件HttpLogging介绍,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
因为在上篇演示Action Filter
的时候可能是因为举的例子不够好,有小伙伴在评论区指出.NET 6
新增加的特性可以实现在视图模型绑定之前允许记录Http请求日志的组件:HttpLOGging
。这个组件我之前试过,而Action Filter
与其用来记录日志,更不如说是为Http请求的接收和响应提供了中间可以修改的机会。
本着让更多的人了解新知识的出发点,这次我们临时把这个主题加进来。
HttpLogging
是 .NET 6
新加入的一个框架内置的中间件当你需要记录HTTP请求和响应的信息或者部分信息时。
HttpLogging
来记录请求信息尤其是Body信息时,需要仔细考虑仅记录必要的字段。当你不确定它会不会对你的程序有性能影响时,你需要进行性能测试。这个中间件的用法非常简单,两个方法,六个可以配置的选项:
在PRogram.cs
的 app.MapControllers();
之前添加中间件:
Program.cs
// 省略其他 app.UseHttpLogging(); app.MapControllers();
当我们使用默认配置的时候,来随便找一个接口看一下效果:
所有默认配置下不记录日志的字段都以[redacted]
代替,下面我们可以更改默认配置以显示更多内容:
Program.cs
// 省略其他... builder.Services.AddControllers(); builder.Services.AddHttpLogging(options => { // 日志记录的字段配置,可以以 | 连接 options.LoggingFields = HttpLoggingFields.All; // 增加请求头字段记录 options.RequestHeaders.Add("Sec-Fetch-sITe"); options.RequestHeaders.Add("Sec-Fetch-Mode"); options.RequestHeaders.Add("Sec-Fetch-Dest"); // 增加响应头字段记录 options.ResponseHeaders.Add("Server"); // 增加请求的媒体类型 options.MediaTypeOptions.AddText("application/javascript"); // 配置请求体日志最大长度 options.RequestBodyLogLimit = 4096; // 配置响应体日志最大长度 options.ResponseBodyLogLimit = 4096; });
同样的请求我们再来看看效果:
可以看到,这个中间件使用起来是比较简单的。
到此这篇关于.NET 6开发TodoList应用之请求日志组件HttpLogging介绍的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本宝典。
以上是脚本宝典为你收集整理的.NET 6开发TodoList应用之请求日志组件HttpLogging介绍全部内容,希望文章能够帮你解决.NET 6开发TodoList应用之请求日志组件HttpLogging介绍所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。