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

专门做图的网站个人如何做网络推广

专门做图的网站,个人如何做网络推广,北京建设工程造价管理协会网站,海康打开网站显示建设中在本文中,我们将详细介绍.NET Core日志内容,包括不同日志级别的区别,以及一些常用的日志记录实用工具和第三方库。同时,我们还将通过示例来展示如何使用这些工具和库。 一、.NET Core日志级别 .NET Core日志系统提供了五种日志级…

在本文中,我们将详细介绍.NET Core日志内容,包括不同日志级别的区别,以及一些常用的日志记录实用工具和第三方库。同时,我们还将通过示例来展示如何使用这些工具和库。

一、.NET Core日志级别

.NET Core日志系统提供了五种日志级别,分别如下:

  1. Trace:跟踪级别用于详细诊断信息,通常只在诊断问题时启用。
  2. Debug:调试级别用于应用程序的调试信息,通常在开发过程中使用。
  3. Information:信息级别用于常规信息性消息,表示应用程序运行正常。
  4. Warning:警告级别用于表示某些意外事件的提示,但是应用程序仍然可以正常运行。
  5. Error:错误级别用于表示应用程序中的错误,导致应用程序无法正常运行。
  6. Critical:关键级别用于表示严重错误,可能导致应用程序崩溃。

在.NET Core中,可以通过配置日志级别来控制输出哪些级别的日志信息。以下是一个简单的示例,演示如何配置和使用.NET Core的日志记录系统。
首先,创建一个新的.NET Core Web API项目。在项目目录中,打开appsettings.json文件,添加以下日志配置:

{"Logging": {"LogLevel": {"Microsoft": "Warning","System": "Warning","MyApp": "Information"}}
}

在这个配置中,我们设置了三个日志级别:

  • 对于Microsoft和System命名空间,日志级别设置为Warning。
  • 对于MyApp命名空间,日志级别设置为Information。
    接下来,创建一个简单的日志记录器类,用于输出日志信息。在项目中添加一个新的类LoggingService.cs,内容如下:
using Microsoft.Extensions.Logging;
using System;
public class LoggingService : ILogger<LoggingService>
{public IDisposable BeginScope<TState>(TState state){return null;}public bool IsEnabled(LogLevel logLevel){return true;}public void Log<TState>(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func<TState, Exception, string> formatter){if (logLevel >= LogLevel.Information){Console.WriteLine($"{logLevel}: {formatter(state, exception)}");}}
}

在这个类中,我们重写了ILogger接口的方法,以实现日志记录的功能。
现在,我们可以在应用程序中使用这个日志记录器。首先,需要在Startup.cs文件中注册日志记录器:

public void ConfigureServices(IServiceCollection services)
{services.AddSingleton<ILogger<LoggingService>>(sp =>new LoggingService());
}

接下来,在控制器中使用这个日志记录器输出不同级别的日志信息:

[ApiController]
[Route("[controller]")]
public class ValuesController : ControllerBase
{private readonly ILogger<ValuesController> _logger;public ValuesController(ILogger<ValuesController> logger){_logger = logger;}[HttpGet]public IEnumerable<string> Get(){_logger.LogVerbose("Verbose log message");_logger.LogDebug("Debug log message");_logger.LogInformation("Information log message");_logger.LogWarning("Warning log message");_logger.LogError("Error log message");_logger.LogCritical("Critical log message");return new string[] { "value1", "value2" };}
}

在这个示例中,我们创建了一个ValuesController控制器,其中包含了多个不同的HTTP GET方法。在每个方法中,我们使用_logger对象输出了不同级别的日志信息。根据我们之前的配置,Verbose和Debug级别的日志信息将不会输出,因为它们的级别低于配置的Warning级别。

运行应用程序,访问http://localhost:5000/values,你可以在控制台中看到输出的日志信息。其中,只有Information、Warning、Error和Critical级别的日志信息会被输出。
通过使用了几个不同的日志级别,包括LogDebug(调试级别,通常不会在生产环境中显示)、LogInformation(信息级别)、LogWarning(警告级别)、LogError(错误级别)和LogCritical(严重级别)输出不同等级日志信息。

注意,LogDebug调用实际上不会输出任何内容,因为我们没有在配置中启用调试日志。在生产环境中,通常不会启用调试日志,因为它们可能会包含敏感信息。

二、日志记录实用工具

2.1Serilog

Serilog是一个高度可配置的日志记录库,用于替代内置的日志记录系统。它提供了丰富的功能,如日志旋转、输出到不同的目的地(控制台、文件、数据库等)、结构化日志等。
安装Serilog

dotnet add package Serilog

示例:

public class Program
{public static void Main(string[] args){Log.Logger = new LoggerConfiguration().Enrich.FromLogContext().WriteTo.Console(outputTemplate: "[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj}{NewLine}{Exception}").CreateLogger();try{Log.Information("Starting application");// 业务逻辑}catch (Exception ex){Log.Error(ex, "An error occurred");}Log.CloseAndFlush();}
}

2.2 Log4Net

Log4Net是另一个常用的日志记录工具,它基于Apache Log4j2。Log4Net提供了丰富的配置选项,如日志源、日志应用ender、日志过滤器等。
安装Log4Net:

dotnet add package log4net

示例:

public class Program
{private static readonly log4net.ILog log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);public static void Main(string[] args){log.Info("Starting application");// 业务逻辑log.Error("An error occurred");}
}

三、第三方库

3.1 ELK Stack

ELK Stack是由Elasticsearch、Logstash和Kibana组成的日志聚合平台。通过使用ELK Stack,可以将日志数据索引到Elasticsearch中,并通过Kibana进行可视化展示。
安装ELK Stack:

  • Elasticsearch:dotnet add package Elasticsearch.Net
  • Logstash:使用Logstash管道处理日志数据,并将数据发送到Elasticsearch。
  • Kibana:使用Kibana进行日志数据的可视化展示。
    示例:
using Elasticsearch.Net;
public class Program
{public static void Main(string[] args){var settings = new ConnectionSettings(new Uri("http://localhost:9200")));var client = new ElasticClient(settings);var log = new LoggerConfiguration().Enrich.FromLogContext().WriteTo.Elasticsearch(client, new ElasticsearchSinkOptions(){IndexFormat = "logstash-{0:yyyy.MM.dd}"}).CreateLogger();Log.Information("Starting application");// 业务逻辑Log.Error("An error occurred");}
}

3.2 MySQL、SQL Server等数据库

除了ELK Stack,你还可以将日志存储到MySQL、SQL Server等数据库中。这通常需要使用第三方库,如MySqlConnector、Microsoft.EntityFrameworkCore等。
安装MySqlConnector:

dotnet add package MySqlConnector

示例:

using MySql.Data.MySqlClient;public class Program
{private readonly ILogger _logger;public Program(){var connectionString = "your_connection_string_here";var options = new MySqlSinkOptions{TableName = "Logs",ColumnOptions = new Dictionary<string, ColumnOptions>{{ "Level", new ColumnOptions { IsNullable = false } },{ "Message", new ColumnOptions { IsNullable = false } },{ "Exception", new ColumnOptions { IsNullable = true } },{ "Source", new ColumnOptions { IsNullable = false } },{ "Scope", new ColumnOptions { IsNullable = true } },{ "Timestamp", new ColumnOptions{DataType = "DATETIME",IsNullable = false}}}};_logger = new LoggerConfiguration().Enrich.FromLogContext().WriteTo.MySql(connectionString, options).CreateLogger();}public void Main(){try{_logger.Information("Starting application");// 业务逻辑}catch (Exception ex){_logger.Error(ex, "An error occurred");}}
}

在这个示例中,我们使用了Serilog的WriteTo.MySql扩展方法来配置日志输出到MySQL数据库。我们为日志表定义了列和数据类型,并指定了列是否可以为空。

四、总结

本文详细介绍了.NET Core日志级别,以及如何使用一些常用的日志记录实用工具和第三方库,如Serilog、Log4Net、ELK Stack和MySQL。通过这些工具和库,你可以更加灵活地记录、存储和分析应用程序的日志,从而提高应用程序的可靠性和可维护性。希望本文能对你有所帮助!

http://www.hkea.cn/news/720283/

相关文章:

  • 重庆市建设工程信息网特种作业企业网站seo多少钱
  • 域名备案做电影网站制作免费个人网站
  • 公司网络营销方案优化设计七年级上册数学答案
  • 网站建设策划方案网址搜索引擎
  • 艺术培训学校系统网站怎么做百度优化是什么
  • 自己的网站做飘窗百度推广账号登录入口
  • 国内好的网站建设国内外十大免费crm软件推荐
  • 淄博品质网站建设百度销售推广
  • 网站建设学习内容网站模板哪家好
  • 建立b2b网站成本微信营销平台系统
  • 学做衣服网 缤纷网站手机百度ai入口
  • 点餐系统网站建设画质优化app下载
  • 上海都有哪些企业公司seo网站seo
  • 进一步加强政府网站建设网站建设介绍ppt
  • 做网站的设计软件上海seo推广外包
  • 中国工程局人才招聘网福建seo推广方案
  • 深圳南山做网站的公司百度投诉中心
  • 辽宁建设工程信息网业绩认定武汉网站优化公司
  • 莱芜都市人才网上海网站seo公司
  • 广州做鞋的网站怎么让某个关键词排名上去
  • 温州平阳县网站建设兼职东莞网络推广哪家公司奿
  • 做单页网站价格微信朋友圈广告在哪里做
  • 濮阳家电网站建设一般开车用什么导航最好
  • html5 图片展示网站大作设计网站
  • 河北正规网站建设比较百度一下你就知道官页
  • 企业网站建设哪家服务好福州网站关键词推广
  • 惠州悦商做网站软件开发一般需要多少钱
  • 做衣服外单网站优化大师官方正版下载
  • 专门做酒店的网站百度排行
  • 上海做手机网站建设盐城网站优化