当前位置: 首页 > news >正文

建设网站的技术方案海拉尔做网站

建设网站的技术方案,海拉尔做网站,服装营销型网站建设,做鞋子出口需要作网站吗前言回顾#xff1a;日志记录之日志核心要素揭秘在上一篇中#xff0c;我们通过学习了解在.net core 中内置的日志记录中的几大核心要素#xff0c;在日志工厂记录器(ILoggerFactory)中实现将日志记录提供器(ILoggerProvider)对象都可以集成到Logger对象组合中#xff0c;这… 前言回顾日志记录之日志核心要素揭秘在上一篇中我们通过学习了解在.net core 中内置的日志记录中的几大核心要素在日志工厂记录器(ILoggerFactory)中实现将日志记录提供器(ILoggerProvider)对象都可以集成到Logger对象组合中这样的话我们就可以通过基于ILoggerProvider自定义日志记录程序集成到Logger中再创建写日志定义Ilogger自定义日志记录器实现日志的输出方式这样实现自定义日志记录工具。在这个过程中日志记录器ILogger中的Log()方法会记录执行日志通过在ILoggerFactory产生的是ILogger类型也就是我们最终使用的Logger其Log()方法是依次调用Logger中包含的LoggerInformation[]数组中的ILogger。而ILoggerProvider产生的为各类不同的XxxLogger也就是上面说的Logger中的LoggerInformation数组包含的如ConsoleLogger、DebugLogger其Log()方法是把日志写到具体的目标上去所以我们自定义的日志程序也可以在日志记录器工厂中实现添加日志程序达到将日志写到具体目标的作用。所以下文我们通过自定义的方式实现ILogger、ILoggerProvider两个接口来实现我们自己想要的日志记录程序实现自定义输出目标方式。下文只是简单的根据接口自定义实现输出日志记录到控制台的demo开始自定义Logger创建一个自定义Logger目的是将指定的等级日志输出到控制台。所以我们创建一个ExtensionLogger的类指定输出的日志等级。所以在这之前我们需要配置一下输入日志的等级因此我们需要增加一个等级的配置类ExtensionsConfiguration。在ExtensionsConfiguration中public class ExtensionsConfiguration {/// summary/// 日志等级/// /summarypublic LogLevel LogLevel { get; set; } LogLevel.Warning; }再自定义日志记录类ExtensionLogger实现接口ILogger,public class ExtensionsLogger : ILogger {private readonly ExtensionsConfiguration _config;public ExtensionsLogger(ExtensionsConfiguration extensionsConfiguration){_config extensionsConfiguration;}public IDisposable BeginScopeTState(TState state){return null;}public bool IsEnabled(LogLevel logLevel){return logLevel _config.LogLevel;}public void LogTState(LogLevel logLevel, EventId eventId, TState state,Exception exception, FuncTState, Exception, string formatter){if (!IsEnabled(logLevel)){return;}Console.WriteLine($ {logLevel} - {eventId.Id} : formatter(state, exception));} }根据ILogger接口实现其中实现Log()接口方法将日志输出到指定目标这里是输出到控制台在设置了日志等级的情况条件下当满足条件后才能输出对应的日志。自定义LoggerProvider在创建了日志输出记录后我们同时需要提供一个日志程序来增加和创建上面的Logger记录所以我们通过自定义日志提供器类ExtensionsLoggerProvider,实现ILoggerProvider类。public class ExtensionsLoggerProvider : ILoggerProvider {private readonly ExtensionsConfiguration _config;public ExtensionsLoggerProvider(ExtensionsConfiguration extensionsConfiguration){_config extensionsConfiguration;}public ILogger CreateLogger(string categoryName){return new ExtensionsLogger(_config);}public void Dispose(){} }基于ILoggerProvider接口实现自定义类实现方法CreateLogger,来创建上面的日志记录。使用在Startup.cs中,通过Configure方法调用配置日志记录。    public void Configure(IApplicationBuilder app, IWebHostEnvironment env , ILoggerFactory loggerFactory){if (env.IsDevelopment()){app.UseDeveloperExceptionPage();}// 注入ILogggerFactory,然后配置参数//添加日志等级loggerFactory.AddProvider(new ExtensionsLoggerProvider(new ExtensionsConfiguration { LogLevel LogLevel.Warning }));app.UseRouting();app.UseAuthorization();app.UseEndpoints(endpoints {endpoints.MapControllers();});}在此之前我们可以清空默认的配置然后根据日志等级在控制台中输出对应的日志记录。效果在等级为Information情况下输出效果如下这个就是我们通过自定义的方式实现的按日志等级输出的记录。拓展写入本地文件第一步为LoggerFactory扩张一个方法提供增加日志写文件方式的入口。相关的配置来自appsettings.json第二步实现我们的logger提供程序实现ILoggerProvider接口关键方法CreateLogger创建真正写日志的logger。对当前的logger可以做适当的缓存配置logger第三步实现我们的logger实现ILogger接口。真正将log写入file。这里可以参考另一篇资料 .Net Core Logger 实现log写入本地文件系统总结     1.  上文中我们通过自定义的方式实现了根据日志等级将日志记录输出到指定目标的方式在这种基础上我们可以根据具体的需求做完善修改实现自己的日志记录输出方式。     2.  除了我们通过自定义的方式之外我们也可以借用第三方日志框架组件程序进行使用根据拓展方法进行调用在后续中我们会使用第三方日志记录程序来实现日志记录的输出。    3. 如果有不对的或不理解的地方希望大家可以多多指正提出问题一起讨论,不断学习,共同进步。    4.搜索关注公众号【DotNet技术谷】--回复【自定义】可获取本篇文章的源码。
http://www.zqtcl.cn/news/657269/

相关文章:

  • 网站每年维护费用天津智能网站建设
  • php开发网站建设仿摄影网站
  • 动漫网站源码下载百度指数是啥
  • 建站之星演示谷歌网站建站
  • wordpress是建站工具 还是语言表格制作
  • 北京中国建设银行招聘信息网站店标logo图片免费制作
  • 网站建设分金手指专业二七文章网站是怎么做的
  • 东莞网站设计企业怎么制作手机app及网站
  • 林州做网站下载做蛋糕网站
  • 做网站改版的做实验用哪些国外网站
  • 什么是静态页面网站甜品网站建设方案
  • 做一个网站大概多少钱养生网站源码
  • 淘宝客网站建设分类校园网站开发设计报告
  • 个人网站模板 免费儿童编程培训机构
  • 运动健身型网站开发免费ddns域名注册
  • 专业pc网站建设wordpress 支持php7.1
  • 廊坊网站制作系统虚拟服务器搭建
  • 做网站的优势wordpress百度索引链接
  • 网站哪些功能是PHP做的wordpress 正文宽度
  • wordpress考试主题株洲优化公司
  • 怎么做企业网站建设方案怎样查网站有没有备案
  • 浙江短视频seo优化网站专做童装的网站
  • 印刷包装公司网站模板陕西住房和城乡建设厅网站
  • 成都响应式网站建设公司网站 建设的必要性
  • 江苏省建设局官方网站查询wordpress收到登录错误
  • 个人与企业签订网站开发合同北京个人网站建设
  • 阀门网站设计dede静态网站
  • 做暧暧视频网站在线网站建设项目推文
  • 岳池发展建设集团有限公司门户网站毕设做网站工作量够吗
  • 手机网站客户端设计与实现手机网站 焦点图