ASP.NET Core的日志系统实例分析


本文小编为大家详细介绍“ASP.NETCore的日志系统实例分析”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.NETCore的日志系统实例分析”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。.net core是内置了日志系统的,如下是一个简单的示例:主要步骤如下:在DI服务中通过AddLogging的配置日志服务通过DI服务获取ILoggerFactory通过日志工厂创建ILogger通过ILogger写日志需要注意的是,日志是异步输出的,如果调用logger.LogInformation后程序马上结束,是不会有日志输出的。ILogger是我们实际用-来记录日志的对象,前面的例子已经演示了它的使用方法,在.net core日志系统中,还提供了另一个接口ILogger,它的创建方式如下:ILogger本身也是继承自ILogger的,也就是说,他们的用法基本一样,ILogger的主要区别是创建的时候无需制定数据源名称,它的数据源就是类名,也就是说,它和如下方式创建的ILogger功能基本上是一致的。那么为什么要创建一个ILogger呢?我个人认为应为因为获取它是不需要制定参数,更容易和DI框架集成,我们可以通过如下代码获取ILogger,而不需要先获取ILoggerFactory.net core的日志系统支持不同的日志框架,并且对外统一了日志的格式,不管使用哪种库,它的格式是一样的。这样的好处是切换日志框架时,上层应用无需修改。一个基本的日志样例为:info:MyLogger[0]
hello world. 03/23/2019 22:37:58它主要包括如下几个部分:日志级别:日志级别定义在LogLevel枚举中,它包含如下几个级别:Trace、Debug、Information、Warning、Error、Critical。另外还有一个特殊级别None,它的值比Critical还高,主要用于关闭日志输出, 当配置最小输出级别时None时,由于它的级别比Critical还高,则所有的日志都不会输出。日志源: 用于标志日志的数据源,它是一个字符串,保存在具体的ILog对象中,本例中就是”MyLogger”事件Id:它标志了日志的序列号,大部分的时候都不会用到它日志体:日志内容ASP.NET Core 内免费云主机域名置了如下几种日志提供程序:控制台调试EventSourceEventLogTraceSource前面的示例中,如果要增加其他的日志提供程序,可以在DI框架初始化的时候进行。虽然系统内置了这些日志框架比较方便,但实际上用起来是不够用的,比如说它不能输出到文件,不过好在.net core提供了比较强大的扩展机制。采用同样的方式,我们也可以使用NLog、Seriallog等更为专业的日志框架,甚至他们已经做好了适配,直接拿来用都可以。elmah.ioGelfJSNLogKissLog.netLoggrNLogSentrySerilogStackdriver一个典型的日志系统的配置文件如下:我们可以通过AddConfiguration函数指定日志配置文件:读到这里,这篇“ASP.NETCore的日志系统实例分析”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注百云主机行业资讯频道。

相关推荐: LocalStorage如何封装一次

这篇文章主要介绍“LocalStorage如何封装一次”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“LocalStorage如何封装一次”文章能帮助大家解决问题。首先对于localStorage做一个基础的封装,封装出…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 03/19 18:14
下一篇 03/19 18:16

相关推荐