开源日志组件Sejil--附带日志管理界面
1.开源日志组件源码: https://github.com/alaatm/Sejil
2.下载下来发现里面对于不同的.net core 版本的配置提供了对应的示例
.Net Core 3.1
Program.cs文件中
public class Program
{
public static void Main(string[] args) => CreateHostBuilder(args).Build().Run();
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSejil()
.ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>());
}
Startup.cs
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Sejil;
public class Startup
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration) => Configuration = configuration;
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.ConfigureSejil(cfg => cfg.Title = "Logs");
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseSejil();
app.UseRouting();
app.UseEndpoints(endpoints =>
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}"));
}
}
如果需要权限校验之类的
Program.cs文件中
public class Program
{
public static void Main(string[] args)
{
AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
CreateHostBuilder(args).Build().Run();
}
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.UseSejil()
.ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>());
}
Startup.cs 文件中
using Bazinga.AspNetCore.Authentication.Basic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Sejil;
public class Startup
{
public IConfiguration Configuration { get; }
public Startup(IConfiguration configuration) => Configuration = configuration;
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddAuthentication(BasicAuthenticationDefaults.AuthenticationScheme)
.AddBasicAuthentication(credentials =>
Task.FromResult(credentials.username == "myUsername" && credentials.password == "myPassword")
);
services.ConfigureSejil(cfg => cfg.AuthenticationScheme = BasicAuthenticationDefaults.AuthenticationScheme);
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
app.UseSejil();
app.UseEndpoints(endpoints =>
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}"));
}
}
对应的 appsettings.json 配置文件
"Authentication": {
"Authority": "https://sample.auth0.com",
"ResponseType": "code",
"ClientId": "USER_SECRET",
"ClientSecret": "USER_SECRET",
"Scope": [
"openid",
"profile",
"email"
],
"CallbackPath": "/signin-auth0",
"ClaimsIssuer": "Auth0"
}
.Net Core 6
using Sejil;
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorPages();
// Configure Sejil
builder.Host.UseSejil(
minLogLevel: LogLevel.Information,
writeToProviders: true);
builder.Services.ConfigureSejil(cfg => cfg.Title = "My App Logs");
//////////////////
var app = builder.Build();
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.MapRazorPages();
// Add sejil to request pipeline
app.UseSejil();
//////////////////
app.Run();
另外补充一下: 源代码里面是 在本地 C:\Users\{电脑名}\AppData\Local\ 项目 下新建了 一个sqlite 文件
如果是项目发布,是在运行程序目录下 新建一个 业务文件夹\sqlite文件
访问 http://localhost:xxxx/Sejil 就可以看到对应的日志了.
开源日志组件Sejil--附带日志管理界面的更多相关文章
- iOS应用日志:开始编写日志组件与异常日志
应用日志(一):开始编写日志组件 对于那些做后端开发的工程师来说,看 LOG解Bug应该是理所当然的事,但我接触到的移动应用开发的工程师里面,很多人并没有这个意识,查Bug时总是一遍一遍的试图重现,试 ...
- [转载] 一共81个,开源大数据处理工具汇总(下),包括日志收集系统/集群管理/RPC等
原文: http://www.36dsj.com/archives/25042 接上一部分:一共81个,开源大数据处理工具汇总(上),第二部分主要收集整理的内容主要有日志收集系统.消息系统.分布式服务 ...
- 一共81个,开源大数据处理工具汇总(下),包括日志收集系统/集群管理/RPC等
作者:大数据女神-诺蓝(微信公号:dashujunvshen).本文是36大数据专稿,转载必须标明来源36大数据. 接上一部分:一共81个,开源大数据处理工具汇总(上),第二部分主要收集整理的内容主要 ...
- 日志组件Log2Net的介绍和使用(附源码开源地址)
Log2Net是一个用于收集日志到数据库或文件的组件,支持.NET和.NetCore平台. 此组件自动收集系统的运行日志(服务器运行情况.在线人数等).异常日志.程序员还可以添加自定义日志. 该组件支 ...
- Work Time Manager【开源项目】- 创建自己日志组件 2.0重构
Hello all , 我又回来了 这次我们真是开始来聊聊开源项目里,小而有用的模块或者组件的开发思想. 同时,软件已经更新到1.60的版本了,支持新用户注册,可以不再使用统一的test账户了. 您可 ...
- 如何扩展分布式日志组件(Exceptionless)的Webhook事件通知类型?
写在前面 从上一篇博客高并发.低延迟之C#玩转CPU高速缓存(附示例)到现在又有几个月没写博客了,啥也不说,变得越来越懒了,懒惰产生了拖延后遗症. 最近一周升级了微服务项目使用的分布式日志组件Exce ...
- 关于log4j、jul、jcl、slf4j等等日志组件的理解
日志组件: 我们经常在开发项目的时候,需要打印记录项目过程中的一些日志.那我们经常大概会用到 log4j.jul.jcl.slf4j.simple.nop.logback 等等,那我们就详细介绍下这些 ...
- ASP.NET Core可视化日志组件使用
前言 今天站长推荐一款日志可视化组件LogDashboard,可以不用安装第三方进程,只需要在项目中安装相应的Nuget包,添加数行代码,就可以实现拥有带Web页面的日志管理面板,十分nice哦. 下 ...
- C#组件系列———又一款日志组件:Elmah的学习和分享
前言:好久没动笔了,都有点生疏,12月都要接近尾声,可是这月连一篇的产出都没有,不能坏了“规矩”,今天还是来写一篇.最近个把月确实很忙,不过每天早上还是会抽空来园子里逛逛.一如既往,园子里每年这个时候 ...
- java日志组件介绍(common-logging,log4j,slf4j,logback )
转自:http://www.blogjava.net/daiyongzhi/archive/2014/04/13/412364.html common-logging是apache提供的一个通用的日志 ...
随机推荐
- 在.Net中操作redis
在.Net中操作redis 一.环境 .Net 7 redis 7.2.4 二.所需类包 StackExchange.Redis 三.连接redis信息 appsettings.json配置redis ...
- Docker部署Scrapy-redis分布式爬虫框架(整合Selenium+Headless Chrome网页渲染)
前言 我的京东价格监控网站需要不间断爬取京东商品页面,爬虫模块我采用了Scrapy+selenium+Headless Chrome的方式进行商品信息的采集. 由于最近爬虫用的服务器到期,需要换到新服 ...
- 陪玩app小程序H5开发制作多少钱-软件开发,源码交付,永久售后.-陪玩线下陪玩软件搭建APP(系统、平台、源码)-游戏陪玩系统APP派单大厅H5社交圈子+多人聊天室小程序
线下陪玩APP平台,如何防止陪玩师接私单? 线下陪玩APP平台如果不解决陪玩师接私单的问题,那么你的陪玩平台一定赚不到钱! 为什么这么说呢?平台花费10万引流来1000个顾客,每个顾客的引流成本就是1 ...
- LLM基础能力实现-书生浦语大模型实战营学习笔记2&大语言模型4
大语言模型-4.LLM基础能力实现 书生浦语大模型实战营学习笔记-2.LLM基础能力实现 本文包括第二期实战营的第2课内容.本来是想在笔记中给官方教程做做补充的,没想到官方教程的质量还是相当高的,跟着 ...
- 自研WPF插件系统(沙箱运行及热插拔)
前言 插件化的需求主要源于对软件架构灵活性的追求,特别是在开发大型.复杂或需要不断更新的软件系统时,插件化可以提高软件系统的可扩展性.可定制性.隔离性.安全性.可维护性.模块化.易于升级和更新以及支持 ...
- centos7下xfs文件系统的备份和恢复:完全备份,增量备份,差异备份
目录 一.关于xfs文件系统 二.xfsdump的备份级别和注意事项 三.完全备份整个目录/分区,然后恢复数据 四.完全备份分区中某个目录,然后恢复某个文件/文件夹 五.增量备份 一.关于xfs文件系 ...
- 一文看懂Spring事务的七种传播行为
什么叫事务传播行为?听起来挺高端的,其实很简单. 即然是传播,那么至少有两个东西,才可以发生传播.单体不存在传播这个行为. 事务传播行为(propagation behavior)指的就是当一个事务方 ...
- nginx源码安装步骤
1.安装依赖包 yum install -y gcc yum install -y pcre pcre-devel yum install -y zlib zlib-devel yum install ...
- Android OpenMAX(四)OMX Core
假设我们已经写好了所有的OMX组件,有vdec.venc.adec.aenc,接下来问题来了,我们应该如何管理这些组件呢(创建.销毁)?这一篇文章我们向上一层学习OMX Core提供的标准API. O ...
- .NET Core 项目Linux环境下生成二维码
问题: 公司系统开发中,需要对企微授权链接进行二维码生成,然后向客户提供:当然,首当其冲想到的是使用ZXing.NET库进行实现,毕竟生成简单二维码也就那几句代码:然而,在本地环境中,一切都很正常,但 ...