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

网站上传面板光谷软件园企业网站建设公司

网站上传面板,光谷软件园企业网站建设公司,做的网站怎么上传到网上,软件开发项目管理的常识Serilog 是一个功能强大的日志记录库#xff0c;专为 .NET 平台设计。它提供了丰富的 API 和可插拔的输出器及格式化器#xff0c;使得开发者能够轻松定制和扩展日志记录功能。在本文中#xff0c;我们将探索 Serilog 的基础知识、API 使用、配置和一些常见的示例。 1. 日志… Serilog 是一个功能强大的日志记录库专为 .NET 平台设计。它提供了丰富的 API 和可插拔的输出器及格式化器使得开发者能够轻松定制和扩展日志记录功能。在本文中我们将探索 Serilog 的基础知识、API 使用、配置和一些常见的示例。 1. 日志级别 Serilog 支持多个日志级别按照严重性从高到低排列如下 Fatal: 程序无法继续运行必须立即解决的问题。Error: 发生了错误需要处理。Warning: 警告需关注但不必立即处理。Information: 提供有用的消息通常用于调试。Debug: 调试信息帮助开发者调试程序。Verbose: 详细的日志信息通常用于复杂问题的调试。 2. 日志输出 Serilog 支持多种日志输出方式包括 Console: 输出到控制台。File: 输出到文件。Seq: 输出到日志收集器 Seq。Elasticsearch: 输出到 Elasticsearch。 此外Serilog 也支持自定义日志输出器。 3. 日志格式 Serilog 提供了多种格式化日志消息的方式 简单文本格式常见的日志输出格式。JSON 格式适合结构化日志。Message Templates 格式一种灵活的格式允许在日志消息中插入占位符。 4. 安装 Serilog 可以通过 NuGet 安装 Install-Package Serilog5. 基础使用示例 在应用程序中使用 Serilog 十分简单。以下是一个简单的控制台日志输出示例 using Serilog;class Program {static void Main(){Log.Logger new LoggerConfiguration().MinimumLevel.Debug().WriteTo.Console().CreateLogger();Log.Information(Hello, Serilog!);Log.CloseAndFlush();} }此代码将在控制台输出 Hello, Serilog!。 6. 日志级别示例 Serilog 允许设置不同的日志级别。以下示例演示了如何记录各种级别的日志消息 using Serilog;class Program {static void Main(){Log.Logger new LoggerConfiguration().MinimumLevel.Verbose().WriteTo.Console().CreateLogger();Log.Verbose(This is a verbose log message.);Log.Debug(This is a debug log message.);Log.Information(This is an informational log message.);Log.Warning(This is a warning log message.);Log.Error(This is an error log message.);Log.Fatal(This is a fatal log message.);Log.CloseAndFlush();} }7. 消息模板 Serilog 支持消息模板允许开发者在日志中使用占位符。以下示例展示了如何使用消息模板 using Serilog;class Program {static void Main(){Log.Logger new LoggerConfiguration().MinimumLevel.Debug().WriteTo.Console(outputTemplate: {Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}).CreateLogger();Log.Information(Hello, {Name}!, Serilog);Log.CloseAndFlush();} }上述代码将在控制台输出如下格式的日志 2023-09-15 22:23:54.576 08:00 [INF] Hello, Serilog!8. 日志属性 Serilog 支持在日志中添加附加属性。以下示例展示了如何记录额外的信息 using Serilog;class Program {static void Main(){Log.Logger new LoggerConfiguration().MinimumLevel.Debug().WriteTo.Console().CreateLogger();Log.Information(Processed {Count} records in {Time} ms., new { Count 10, Time 123 });Log.CloseAndFlush();} }此代码会输出 Processed { Count: 10, Time: 123 } records in 0 ms.9. 文件输出配置 Serilog 允许将日志输出到文件并通过 rollingInterval 设置日志滚动方式。以下示例展示了如何按天滚动文件并设置输出模板 Log.Logger new LoggerConfiguration().WriteTo.File($logs\\log-.txt, rollingInterval: RollingInterval.Day, outputTemplate: {Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] {Message:lj}{NewLine}{Exception}).CreateLogger();Log.Information(This is a log message!);Log.CloseAndFlush();这将创建类似于 log-20230914.txt 的文件每天一个新文件。 10. 结构化日志记录 Serilog 支持结构化日志记录这意味着可以将复杂的数据如对象、集合等以结构化的方式存储和输出。例如 using Serilog;class Program {static void Main(){var weather new WeatherForecast{Date DateTime.Now,TemperatureC 22,Summary Sunny};Log.Information(Weather forecast: {Weather}, weather);Log.CloseAndFlush();} }public class WeatherForecast {public DateTime Date { get; set; }public int TemperatureC { get; set; }public string Summary { get; set; } }此代码将输出类似于 Weather forecast: {Date:2023-09-15T22:39:53.863478708:00,TemperatureC:22,Summary:Sunny,$type:WeatherForecast}11. 日志过滤 Serilog 允许使用过滤器控制输出。以下示例仅输出错误级别以上的日志 using Serilog;class Program {static void Main(){Log.Logger new LoggerConfiguration().MinimumLevel.Debug().WriteTo.Console().Filter.ByIncludingOnly(logEvent logEvent.Level LogEventLevel.Error).CreateLogger();Log.Verbose(This is a verbose log message.);Log.Error(This is an error log message.);Log.CloseAndFlush();} }此代码只会在控制台输出错误和更高严重级别的日志。 12. 扩展与自定义输出器 Serilog 支持自定义输出器允许开发者将日志输出到不同的目的地例如 Elasticsearch、数据库等。以下是一个创建自定义控制台输出器的例子 using Serilog; using Serilog.Configuration; using Serilog.Events;public static class CustomConsoleSinkExtensions {public static LoggerConfiguration CustomConsole(this LoggerSinkConfiguration sinkConfiguration,ITextFormatter formatter null,LogEventLevel restrictedToMinimumLevel LevelAlias.Minimum){return sinkConfiguration.Sink(new CustomConsoleSink(formatter),restrictedToMinimumLevel);} }public class CustomConsoleSink : ILogEventSink {private readonly ITextFormatter _formatter;public CustomConsoleSink(ITextFormatter formatter){_formatter formatter ?? throw new ArgumentNullException(nameof(formatter));}public void Emit(LogEvent logEvent){var message new StringWriter();_formatter.Format(logEvent, message);Console.WriteLine(message.ToString());} }然后可以通过以下方式将其添加到日志配置中 Log.Logger new LoggerConfiguration().WriteTo.CustomConsole().CreateLogger();13. 总结 Serilog 是一个功能强大的 .NET 日志库支持丰富的日志记录方式、输出方式和格式化选项。它的可扩展性和灵活性使得开发者能够根据应用程序的需求定制日志记录方式。从简单的控制台日志到复杂的结构化日志和自定义输出器Serilog 都能轻松应对。 希望本文对您理解 Serilog 和高效使用该库有所帮助
http://www.w-s-a.com/news/163394/

相关文章:

  • winserver2008上用iis发布网站嵊州网站制作
  • 网站内页权重怎么查辽宁建设工程信息网怎么上传业绩
  • 丰都网站建设价格镇江网站制作费用
  • app手机网站建设黄网站建设定制开发服务
  • 百度网盘app下载徐州优化网站建设
  • 附近网站电脑培训班展台设计方案介绍
  • 河南便宜网站建设价格低上海高端室内设计
  • 保险网站有哪些平台wordpress会员vip购买扩展
  • 网站怎么做图片转换广州车陂网站建设公司
  • 下载flash网站网站设计书的结构
  • 水利建设公共服务平台网站放心网络营销定制
  • 设计网站过程wordpress+分页静态
  • 临海网站制作好了如何上线如果安装wordpress
  • 长沙 学校网站建设网站制作价格上海
  • 九江网站推广徽hyhyk1国家住房部和城乡建设部 网站首页
  • 阿克苏网站建设咨询动漫设计与制作属于什么大类
  • 网站编辑做多久可以升职wordpress版权修改
  • 网站开发维护成本计算国外外贸平台
  • 简单的招聘网站怎么做购物网站功能报价
  • 哪个网站做中高端衣服建设自己网站的流程
  • 网站建设概况做网站的是怎么赚钱的
  • 网站发布信息的基本流程现在都不用dw做网站了吗
  • 赣州热门网站深圳龙岗做网站的公司
  • 中国最大的建站平台广告传媒公司取名
  • 深圳网站设计公司专业吗学动漫设计后悔死了
  • 企业网站形象建设网站开发入职转正申请书
  • 网站设计步骤济南建设网中标公告
  • 石佛营网站建设wordpress关健词
  • 您的网站空间即将过期建站 discuz
  • 上海简站商贸有限公司福州哪家专业网站设计制作最好