欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > ASP.NET Core 入门教学五 集成日志

ASP.NET Core 入门教学五 集成日志

2024/10/25 2:22:06 来源:https://blog.csdn.net/masonwu21/article/details/141648497  浏览:    关键词:ASP.NET Core 入门教学五 集成日志

ASP.NET Core 集成 Serilog 是一个流行的日志记录解决方案,它可以帮助你轻松地记录应用程序的运行情况。以下是一个简单的入门指南,帮助你在 ASP.NET Core 项目中集成 Serilog。

1. 安装 Serilog 和相关包

首先,你需要安装 Serilog 和相关的 ASP.NET Core 包。你可以使用 NuGet 包管理器或 .NET CLI 来安装这些包。

使用 NuGet 包管理器
  1. 打开 Visual Studio。
  2. 右键点击你的项目,选择“管理 NuGet 程序包”。
  3. 搜索并安装以下包:
    • Serilog.AspNetCore
    • Serilog.Settings.Configuration(可选,用于从配置文件中读取 Serilog 配置)
使用 .NET CLI

在项目目录中运行以下命令:

 
dotnet add package Serilog.AspNetCore
dotnet add package Serilog.Settings.Configuration

2. 配置 Serilog

你可以通过多种方式配置 Serilog,这里我们使用 appsettings.json 文件来配置。

创建 appsettings.json

在你的项目中创建一个 appsettings.json 文件(如果还没有的话),并添加以下内容:

 
{"Serilog": {"Using": [ "Serilog.Sinks.Console", "Serilog.Sinks.File" ],"MinimumLevel": "Debug","WriteTo": [{ "Name": "Console" },{ "Name": "File", "Args": { "path": "log.txt" } }],"Enrich": [ "FromLogContext", "WithMachineName", "WithThreadId" ],"Properties": {"Application": "YourApplicationName"}}
}
配置 Startup.cs

在你的 Startup.cs 文件中,配置 Serilog 作为日志记录提供程序。

 
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Serilog;
using Serilog.Settings.Configuration;namespace YourNamespace
{public class Startup{public Startup(IConfiguration configuration){Configuration = configuration;}public IConfiguration Configuration { get; }public void ConfigureServices(IServiceCollection services){// 其他服务配置}public void Configure(IApplicationBuilder app, IWebHostEnvironment env){// 其他中间件配置Log.Logger = new LoggerConfiguration().ReadFrom.Configuration(Configuration).CreateLogger();app.UseSerilogRequestLogging();}}
}

3. 使用 Serilog 记录日志

在你的应用程序中,你可以使用 ILogger<T> 接口来记录日志。

在控制器中记录日志
 
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
using System;namespace YourNamespace.Controllers
{[ApiController][Route("[controller]")]public class WeatherForecastController : ControllerBase{private static readonly string[] Summaries = new[]{"Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"};private readonly ILogger<WeatherForecastController> _logger;public WeatherForecastController(ILogger<WeatherForecastController> logger){_logger = logger;}[HttpGet]public IEnumerable<WeatherForecast> Get(){_logger.LogInformation("Fetching weather forecasts.");var rng = new Random();return Enumerable.Range(1, 5).Select(index => new WeatherForecast{Date = DateTime.Now.AddDays(index),TemperatureC = rng.Next(-20, 55),Summary = Summaries[rng.Next(Summaries.Length)]}).ToArray();}}
}

4. 运行应用程序

现在你可以运行你的应用程序,并查看控制台和 log.txt 文件中的日志输出。

 
dotnet run

通过以上步骤,你已经成功地在 ASP.NET Core 项目中集成了 Serilog,并开始记录应用程序的日志。你可以根据需要进一步自定义 Serilog 的配置和日志记录行为。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com