手把手教你 AspNetCore WebApi:Serilog(日志)
前言
小明目前已经把“待办事项”功能实现了,API文档也搞定了,但是马老板说过,绝对不能让没有任何监控的项目上线的。
Serilog是什么?
在.NET使用日志框架第一时间会想到NLog或是Log4Net,Serilog 是这几年快速崛起的Log框架之一,Serilog是以Structured logging 为基础进行设计,透过logging API 可以轻松的记录应用程式中对象属性,方便快速进行logging 内容进行查询与分析,并将其纪录内容透过json (可指定) 的方式输出。
使用
首先,将Serilog.AspNetCore NuGet软件包安装到您的应用程序中。
接下来,在应用程序的Program.cs文件中,首先配置Serilog。
然后,添加UseSerilog()到中的通用主机CreateHostBuilder()。
然后,通过删除默认记录器的其余配置进行清理:
"Logging"从appsettings.json文件中删除此部分
最后,调试启动vs,可以查看以下效果:
在控制器使用
首先.NETCore通过继承 ILogger接口实现了它自己的日志记录。通过借助依赖注入机制,它可以很容易地使用。
测试GetTodo接口,再次查看以下效果:
输出到文件
在原来的输出到控制台的基础上增加.WriteTo.File(@"C:\LogFiles\log.txt")就可以了。
再次查看以下效果:
使用配置文件
更改appsettings.json内容:
更改Program类,使用ReadFrom.Configuration()并传递一个IConfiguration对象。
小结
目前为止,小明把日志记录也搞定了,摸了摸光滑的脑袋,对于优秀青年小明来说添加日志按时so easy!当然Serilog可不是这么简单,还有很多功能留给其他小伙伴们去发掘。
版权声明: 本文为 InfoQ 作者【AI代笔】的原创文章。
原文链接:【http://xie.infoq.cn/article/1ca99654f4a7ba6d1bfb2ae09】。文章转载请联系作者。
评论