.net6使用Sejil可视化日志

news/2025/1/19 15:26:57/

(关注博主后,在“粉丝专栏”,可免费阅读此文)         

        之前介绍了这篇.net 5使用LogDashboard_.net 5logdashboard rootpath-CSDN博客

 这篇文章将会更加的简单,最终的效果都是可视化日志。

        在程序非常庞大的时候,日志的作用就尤其的重要,日志能快速的定位程序的问题,从而高效率的解决问题。本文介绍使用Sejil来查询可视化日志。

这是Sejil的介绍https://github.com/alaatm/Sejil 

1.创建一个.net6程序,安装Sejil

2.在Program.cs中增加

using Microsoft.AspNetCore.Hosting;
using Sejil;namespace WebApplication1
{public class Program{public static void Main(string[] args){var builder = WebApplication.CreateBuilder(args);// Add services to the container.builder.Host.UseSejil(minLogLevel: LogLevel.Information, writeToProviders: true);   //增加builder.Services.ConfigureSejil(cfg => cfg.Title = "故里2130的日志");builder.Services.AddControllers();// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbucklebuilder.Services.AddEndpointsApiExplorer();builder.Services.AddSwaggerGen();var app = builder.Build();// Configure the HTTP request pipeline.if (app.Environment.IsDevelopment()){app.UseSwagger();app.UseSwaggerUI();}app.UseHttpsRedirection();app.UseAuthorization();app.MapControllers();app.UseSejil();//增加app.Run();}}
}

其中LogLevel.Information是日志的等级

3.在控制器中增加日志

using Microsoft.AspNetCore.Mvc;namespace WebApplication1.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(Name = "GetWeatherForecast")]public IEnumerable<WeatherForecast> Get(){_logger.LogDebug("我是LogDebug");_logger.LogInformation("我是LogInformation");_logger.LogWarning("我是LogWarning");_logger.LogError("我是LogError");_logger.LogCritical("我是LogCritical");return Enumerable.Range(1, 5).Select(index => new WeatherForecast{Date = DateTime.Now.AddDays(index),TemperatureC = Random.Shared.Next(-20, 55),Summary = Summaries[Random.Shared.Next(Summaries.Length)]}).ToArray();}}
}

4.此时我们运行api程序

然后点击GET方法

5.在原api的IP地址后面增加Sejil即可

打开https://localhost:7057/Sejil

6.效果

可以根据类型进行筛选

也可以在控制台程序中看到输出的日志

本文源码

https://download.csdn.net/download/u012563853/88657944

本文来源:

.net6使用Sejil可视化日志-CSDN博客


http://www.ppmy.cn/news/1281767.html

相关文章

【STM32单片机】汉诺塔游戏

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器&#xff0c;IIC OLED液晶、按键等。 主要功能&#xff1a; 系统运行后&#xff0c;OLED显示游戏画面&#xff0c;可通过K1或K3键选择关卡&#xff0c;K2键开始。 二…

探索pytest常用插件:提升测试效率与可靠性

引言&#xff1a; 在软件开发过程中&#xff0c;测试是确保软件质量的关键环节。为了提高测试效率和可靠性&#xff0c;开发人员需要借助各种测试工具和方法。其中&#xff0c;pytest是一种流行的Python测试框架&#xff0c;它提供了丰富的功能和灵活的语法&#xff0c;可以帮助…

合并的单元格如何填充连续的序号

希望你以后碰到合并的单元格&#xff0c;不在一个个输入序号&#xff0c;用以下操作帮你输入连续的序号。 一、操作过程如下 1.有一个基准的单元格在同一列&#xff0c;而且这个基准单元格必须得是序号为1的单元格的上面的一个单元格&#xff0c;这样的话后面才能自动递增&am…

张驰咨询:软件开发必学——用六西格玛设计(DFSS)让产品零缺陷

六西格玛设计&#xff0c;通常被称作DFSS&#xff08;Design for Six Sigma&#xff09;&#xff0c;是一种系统的业务流程&#xff0c;通过使用一系列的质量管理方法和工具来设计或重新设计产品和服务。本质上&#xff0c;这是一种确保设计阶段即考虑客户需要、预期性能及功能…

爬虫工作量由小到大的思维转变---<第二十六章 Scrapy通一通中间件的问题>

前言: 准备迈入scrapy-redis或者是scrapyd的领域进行一番吹牛~ 忽然想到,遗漏了中间件这个环节! 讲吧~太广泛了;不讲吧,又觉得有遗漏...所以,本章浅谈中间件; (有问题,欢迎私信! 我写文告诉你解法) 正文: 当我们谈到 Scrapy 的中间件时&#xff0c;可以将其比作一个特殊的助…

数据库添加/删除/修改表字段

目录 添加表字段 删除表字段 修改表字段 添加表字段 要在数据库中添加表字段&#xff0c;可以使用ALTER TABLE语句。 语法如下&#xff1a; ALTER TABLE table_name ADD column_name datatype;其中&#xff0c;table_name是要添加字段的表名&#xff0c;column_name是要添…

MATLAB绘图

1.二维图 1.线图 要创建二维线图&#xff0c;请使用plot函数。例如&#xff0c;绘制正弦函数&#xff1a; x linspace(0,2*pi); y sin(x); plot(x,y)可以添加轴并添加标题&#xff1a; xlabel("x") ylabel("y") title("plot of the sine Functio…

Adobe Application Manager丢失或损坏 - 解决方案

前言 Adobe Application Manager&#xff08;简称AAM&#xff09;&#xff0c;是用来管理旧版Adobe软件的管理器&#xff0c;后来已经升级为Adobe Creative Cloud&#xff08;简称ACC&#xff09;。 使用Adobe系列软件时可能会报错提示需要使用Adobe Application Manager解决…