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

做网站后台要学什么厦门网站建设114

做网站后台要学什么,厦门网站建设114,企业门户网站中国燃气,深圳做公司网站Serilog 使用简单的 C# API 来配置日志记录。当需要外部配置时#xff0c;可以#xff08;慎用#xff09;通过使用 Serilog.Settings.AppSettings 包或 Serilog.Settings.Configuration 包进行混合配置。 创建日志记录器 日志记录器是通过 LoggerConfiguration 对象创建的… Serilog 使用简单的 C# API 来配置日志记录。当需要外部配置时可以慎用通过使用 Serilog.Settings.AppSettings 包或 Serilog.Settings.Configuration 包进行混合配置。 创建日志记录器 日志记录器是通过 LoggerConfiguration 对象创建的 Log.Logger new LoggerConfiguration().CreateLogger(); Log.Information(No one listens to me!); // Finally, once just before the application exits... Log.CloseAndFlush(); 上面的示例将创建一个不记录任何事件的日志记录器。要查看日志事件必须配置一个接收器。 接收器 日志事件接收器通常将日志事件记录到某些外部表示形式中最常见的是控制台、文件或数据存储。Serilog 的接收器通过 NuGet 分发。在 Wiki 上有一个精心整理的可用接收器列表。 这个示例将使用控制台接收器包和文件接收器包控制台接收器包用于格式化日志数据输出到控制台文件接收器包用于将日志事件写入一组按日期标记的文本文件。 $ dotnet add package Serilog.Sinks.Console $ dotnet add package Serilog.Sinks.File 接收器通过 WriteTo 配置对象进行配置。 Log.Logger new LoggerConfiguration().WriteTo.Console() .CreateLogger(); Log.Information(Ah, there you are!);  多个接收器可以同时激活。如果需要添加额外的接收器可以通过链式调用 WriteTo 块来实现 Log.Logger new LoggerConfiguration().WriteTo.Console().WriteTo.File(log-.txt, rollingInterval: RollingInterval.Day).CreateLogger(); 输出模板 基于文本的接收器使用输出模板来控制格式。可以通过 outputTemplate 参数进行修改 .WriteTo.File(log.txt,outputTemplate: {Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}) 上面的示例中展示的默认模板使用了内置的属性如 Timestamp 和 Level。来自事件的属性包括使用增强器附加的属性也可以出现在输出模板中。 {Message:lj} 格式选项使消息中的数据以 JSON 格式j输出但字符串文字会原样输出。 添加 {Properties:j} 到输出模板中以包括额外的上下文信息。 在输出模板中添加 {Properties:j} 可以包含额外的上下文信息。这允许你将与日志事件相关联的所有属性包括自定义属性以 JSON 格式输出到日志文件中从而提供额外的调试和跟踪信息。 最低级别 Serilog 实现了日志事件处理中常见的“最低级别”概念。 Log.Logger new LoggerConfiguration().MinimumLevel.Debug().WriteTo.Console().CreateLogger(); MinimumLevel 配置对象允许指定一个日志事件级别作为最低级别。在上面的示例中级别为 Debug 及更高级别的日志事件将被处理并最终写入控制台。 级别 使用场景 Verbose详细 详细事件是最详细的级别很少甚至从不在生产应用程序中启用 Debug调试 调试事件用于记录系统内部事件这些事件不一定能从外部观察到但是对应确定问题发生原因很有帮助 Information信息 信息事件描述系统中发生的事情这些事情与系统的职责和功能相对应。通常这些是系统可以执行的可观察操作 Warning警告 当服务降级、面临危险或可能超出其预期参数时使用警告事件 Error错误 当功能不可用或预期被打破时使用错误事件 Fatal致命 最关键的级别致命事件需要立即关注 默认级别 - 如果未指定 MinimumLevel则将处理 Information 级别及更高级别的事件。 覆盖每个接收器 有时我们希望将详细的日志写入一个介质而将不太详细的日志写入另一个介质。 Log.Logger new LoggerConfiguration().MinimumLevel.Debug().WriteTo.File(log.txt).WriteTo.Console(restrictedToMinimumLevel: LogEventLevel.Information).CreateLogger(); 在这个例子中调试级别的日志将被写入到滚动文件中而只有级别及以上的日志会被写入到控制台。而只有信息级别日志和更高级别的日志将写入控制台 所有提供的接收器都支持 restrictedToMinimumLevel 配置参数。 记录器与接收器的最低级别 - 需要了解的是日志级别只能提高而不能降低。也就是说如果记录器的 MinimumLevel被设置为 Information那么即使接收器的指定级别为 Debug它仍然只会接收到 Information 级别的事件。这是因为记录器级别配置是控制哪些日志语句会导致事件的创建而接收器级别配置是对这些事件进行筛选。如果你想要创建具有更详细级别的单一记录器那么你应该使用单独的 LoggerConfiguration实例。 增强器 增强器是简单的组件用于添加、删除或修改附加到日志事件的属性。例如可以使用 增强器为每个事件附加线程 ID。 class ThreadIdEnricher : ILogEventEnricher {public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory){logEvent.AddPropertyIfAbsent(propertyFactory.CreateProperty(ThreadId, Thread.CurrentThread.ManagedThreadId));} } 增强器是通过 Enrich 配置对象来添加的。 Log.Logger new LoggerConfiguration().Enrich.With(new ThreadIdEnricher()).WriteTo.Console(outputTemplate: {Timestamp:HH:mm} [{Level}] ({ThreadId}) {Message}{NewLine}{Exception}).CreateLogger(); 上面的配置展示了如何通过增强器添加的属性在输出格式化中使用。 如果在应用程序运行期间增强的属性值是恒定的可以使用快捷方法 WithProperty 来简化配置。 Log.Logger new LoggerConfiguration().Enrich.WithProperty(Version, 1.0.0).WriteTo.Console().CreateLogger(); 增强器以及它们附加的属性通常与使用结构化存储的接收器一起使用时更加有用因为在这些接收器中可以查看和过滤属性值。 过滤器 事件可以通过过滤器进行选择性记录。过滤器只是日志事件的筛选规则其中一些常见场景由 Matching 类处理。 Log.Logger new LoggerConfiguration().WriteTo.Console().Filter.ByExcluding(Matching.WithPropertyint(Count, p p 10)).CreateLogger(); 子日志记录器 有时需要对接收器看到的内容进行更细粒度的控制。为此Serilog 允许完整的日志记录管道作为接收器使用。 Log.Logger new LoggerConfiguration().WriteTo.Console().WriteTo.Logger(lc lc.Filter.ByIncludingOnly(...).WriteTo.File(log.txt)).CreateLogger();  对于子日志记录器处理不佳的场景可以创建多个独立的顶级管道。虽然 Log.Logger 只能分配一个管道但你的应用程序可以使用任意数量的额外 ILogger 实例。 请注意如果在 WriteTo.Logger() 回调中指定了解构策略则这些策略将不会生效因为子日志记录器处理的是已经创建的LogEvent对象。
http://www.pierceye.com/news/917598/

相关文章:

  • 泰安企业网站建设电话廉江手机网站建设公司
  • 自已建网站微信登录珠海绿网科技有限公司
  • 大良网站制作太原建筑公司网站
  • 网站开发的交付文档抖音代运营费用明细
  • 自适应网站建设沈阳网站安全建设需求
  • 列表主题wordpress国外seo综合查询
  • 装修网站怎么做推广做百度网站每年的费用多少
  • 网站搭建免费视频教程省企联网站建设要求
  • 天津大学生专业做网站建设网站价格
  • 携程网站建设进度及实施过程文具电子商务网站开发内容
  • 怎么查看网站打开速度网站源码整站下载
  • 北京城乡住房建设部网站常见的网络营销推广方式有哪些
  • 做网站的成本费用钱宝网站怎么做任务
  • 网站上的格式用html怎么做部队网站设计
  • 帮客户做网站内容社交网站有哪些如何做
  • 网站开发与设计实训总结两千字公众号制作的网站开发
  • 一个公司做2个产品网站怎么做的用html5做的网站素材
  • 内乡网站建设咸阳网站建设报价
  • 企业网站多少钱扶余手机网站开发
  • 做外汇网站卖判刑多少年如何找回网站后台密码
  • 怎么做优惠券网站asp.net mvc 5网站开发之美
  • 网站底部浮动电话广告福建住房和城乡建设部网站
  • 建站之星破解版wordpress 置顶排序
  • c2c网站代表和网址涟源市建设局网站
  • 哪个网站有免费的模板免费网上商城系统
  • 一个网站的建设需要什么东西前十强排名家装公司
  • 广州网站建设报价表石家庄搜索排名提升
  • 网站备案步骤企业网站手机版模板免费下载
  • 郑州高端品牌网站建设镇江网站营销推广
  • 网站开发简单的框架南昌手机网站