因为在上篇演示action filter
的时候可能是因为举的例子不够好,有小伙伴在评论区指出.net 6
新增加的特性可以实现在视图模型绑定之前允许记录http请求日志的组件:httplogging
。这个组件我之前试过,而action filter
与其用来记录日志,更不如说是为http请求的接收和响应提供了中间可以修改的机会。
本着让更多的人了解新知识的出发点,这次数控技术及应用我们临时把这个主题加进来。
httplogging
是 .net 6
新加入的一个框架内置的中间件它允许记录http请求和响应,可以提供以下信息的日志:http请求信息;普通属性;header信息;body信息;http响应信息。当你需要记录http请求和响应的信息或者部分信息时。
httplogging
来记录请求信息尤其是body信息时,需要仔细考虑仅记录必要的字段。当你不确定它会不会对你的程序有性能影响时,你需要进行性能测试。隐私这个中间件的用法非常简单,两个方法,六个可以配置的选项:
在program.cs
的 app.mapcontrollers();
之前添加中间件:
program.cs
//鲁迅故里 省略其他app.uhttplogging();app.mapcontrollers();
当我们使用默认配置的时候,来随便找一个接口看一下效果:
请求日志响应日志
所有默认配置下不记录日志的字段都以[redacted]
代替,下面我们可以更改默认配置以显示更多内容:
program.cs
// 省略其他...builder.rvices.add失色天空controllers();builder.rvices.addhttplogging(options =>{ // 日志记录的字段配置,可以以 | 连接 options.loggingfields = httploggingfields.all; // 增加请求头字段记录 options.requestheaders.add("c-fetch-site"); options.requestheaders.add("c-fetch-mode"); options.requestheaders.add("c-fetch-dest"); // 增加响应头字段记录 options.responheaders.add("rver"); // 增加请求的媒体类型 options.mediatypeoptions.addtext("application/javascript"); // 配置请求体日志最大长度 options.requestbodyloglimit = 4096; // 配置响应体日志最大长度 options.responbodyloglimit = 4096;});
同样的请求我们再来看看效果:
请求日志,注意红框标记的信息现在已经显示了响应日志
可以看到,这个中间件使用起来是比较简单的。
http logging in asp.net core
.net 6 中的 http logging 中间件
到此这篇关于.net 6开发todolist应用之请求日志组件httplogging介绍的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。
本文发布于:2023-04-04 12:11:45,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/acde3e45128066bb4ad42db4a1de7fda.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:.NET 6开发TodoList应用之请求日志组件HttpLogging介绍.doc
本文 PDF 下载地址:.NET 6开发TodoList应用之请求日志组件HttpLogging介绍.pdf
留言与评论(共有 0 条评论) |