- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
第
如何在.Net6webapi中记录每次接口请求的日志
目录为什么在软件设计中一定要有日志系统?如何在.net6webapi中添加日志?1.添加日志组件2.新建SeriLogExtend扩展类型,配置日志格式并注入3.添加RequestLoggingFilter过滤器,用以记录每次请求的日志测试效果
为什么在软件设计中一定要有日志系统?
在软件设计中日志模块是必不可少的一部分,可以帮助开发人员更好的了解程序的运行情况,提高软件的可靠性,安全性和性能,日志通常能帮我们解决如下问题:
调试和故障排查:日志可以记录程序运行时的各种信息,包括错误,异常,警告等,方便开发人员在出现问题时进行调试和故障排查。性能优化:日志可以记录程序的运行时间,资源占用等信息,帮助开发人员进行性能优化。安全审计:日志可以记录用户的操作行为,方便进行安全审计和追踪。统计分析:日志可以记录用户的访问情况,使用习惯等信息,方便进行统计分析和用户行为研究。业务监控:日志可以记录业务数据的变化情况,方便进行业务监控和数据分析。数据还原:日志记录每次请求的请求及响应数据,可以在数据丢失的情况下还原数据。
如何在.net6webapi中添加日志?
1.添加日志组件
.net6有自带的logging组件,还有很多优秀的开源log组件,如NLog,serilog,这里我们使用serilog组件来构建日志模块。
新建.net6,aspnetwebapi项目之后,为其添加如下四个包
dotnetaddpackageSerilog.AspNetCore//核心包
dotnetaddpackageSerilog.Formatting.Compact
dotnetaddSerilog.Sinks.File//提供记录到文件
dotnetaddSerilog.Sinks.MSSqlServer//提供记录到sqlserver
2.新建SeriLogExtend扩展类型,配置日志格式并注入
publicstaticclassSeriLogExtend
publicstaticvoidAddSerilLog(thisConfigureHostBuilderconfigureHostBuilder)
//输出模板
stringoutputTemplate={NewLine}【{Level:u3}】{Timestamp:yyyy-MM-ddHH:mm:ss.fff}+
{NewLine}#Msg#{Message:lj}+
{NewLine}#Pro#{Properties:j}+
{NewLine}#Exc#{Exception}+
newstring(-,50);
//配置Serilog
Log.Logger=newLoggerConfiguration()
.MinimumLevel.Override(Microsoft,LogEventLevel.Warning)//排除Microsoft的日志
.Enrich.FromLogContext()//注册日志上下文
.WriteTo.Console(outputTemplate:outputTemplate)//输出到控制台
.WriteTo.MSSqlServer(Server=.;Database=testdb;UserID=sa;Password=123;TrustServerCertificate=true,sinkOptions:GetSqlServerSinkOptions(),columnOptions:GetColumnOptions())
.WriteTo.Logger(configure=configure//输出到文件
.MinimumLevel.Debug()
.WriteTo.File(//单个日志文件,总日志,所有日志存到这里面
$logs\\log.txt,
rollingInterval:RollingInterval.Day,
outputTemplate:outputTemplate)
.WriteTo.File(//每天生成一个新的日志,按天来存日志
logs\\{Date}-log.txt,//定输出到滚动日志文件中,每天会创建一个新的日志,按天来存日志
retainedFileCountLimit:7,
outputTemplate:outputTemplate
.Cre
文档评论(0)