.NET 黑魔法

喜你入骨 提交于 2020-12-16 10:37:41

asp.net core 里如何记录日志呢?

这要从asp.net core的依赖注入说起,在asp.net core里的依赖注入真是无所不在,各种面向切面的接口与事件。

好吧,来点干货。

首先,我们希望有这样一种调用方式(或者说asp.net core集成的日志功能只能用这种方式):

在asp.net core里,框架内的很多功能都是依赖注入,不需要new XXX(),只需要在对象的构造函数里注入就好啦。 上图的ILogger<LogController> logger,就是asp.net core日志功能的接口。

this.logger.LogInformation("这里是日志信息的消息"); 就是记录一个信息日志,通常跟业务相关。 this.logger.LogError(e, e.StackTrace, new string[] { "附加参数1", "附加参数2" });就是记录一个异常日志。

当然,还有其他级别的方法,比如.LogDebug(),.LogWarning() 等等。 

到此,如何使用日志功能已经讲完了,下来我们看看怎么配置它。

注意途中Startup方法和Configure方法,这里我们用了NLog,那么NLog是什么呢?

 其实他是asp.net core ILogger接口的实现,我要通过接口注入,又没有实例化的代码,所以实例化的工作只能交由别人来做了,各位有兴趣可以实现一套自己的日志系统。 

最后,别忘了把名为nlog.config的配置文件放在项目根目录,它决定了我们日志系统的行为,比如模板等等:

关于NLog更多的介绍我们以后再讲,会介绍它的日志级别,日志模板等。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!