在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → ASP.net core应用日志捕获与查看工具Sejil教程

ASP.net core应用日志捕获与查看工具Sejil教程

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.64M
  • 下载次数:1
  • 浏览次数:5
  • 发布时间:2024-04-17
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 

实例介绍

【实例简介】
Sejil是一个强大的库,它允许开发者直接在ASP.net core应用中捕获、查看和过滤日志事件。它支持结构化日志、查询以及保存日志事件查询。

快速开始

首先,通过以下命令安装Sejil包:

dotnet add package Sejil --version 3.0.4

然后,在Program.cs中添加以下代码:

public static IWebHost BuildWebHost(string[] args) =>
    Host.CreateDefaultBuilder(args)
        .UseSejil()  // <-- Add this line
        .ConfigureWebHostDefaults(webBuilder => webBuilder.UseStartup<Startup>());

Startup.cs中添加以下代码:

using Sejil;

public class Startup
{
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // ...
        app.UseSejil();  // <-- Add this line
        // ...
    }
}

通过浏览器访问 http://your-app-url/sejil 来查看应用的日志。

日志过滤

Sejil不仅支持通过UI进行日志级别、异常和日期范围的过滤,还可以通过输入特定的搜索词来过滤日志。

例如,通过输入AboutController"some message"来过滤日志。还可以使用特定属性来过滤,如SourceContext = 'Microsoft.AspNetCore.Hosting.Internal.WebHost'

功能和截图

Sejil提供了查看应用日志、查看特定日志条目的属性、查询日志、混合多个过滤器以进一步限制结果、保存查询以供后用以及加载已保存查询等功能。

构建

构建项目非常简单,只需要克隆仓库然后运行以下命令:

git clone https://github.com/alaatm/Sejil.git
cd ./Sejil
dotnet tool restore
dotnet cake

之后可以运行示例应用:

cd ./sample/SampleBasic
dotnet run

【实例截图】
【核心代码】
文件清单
└── Sejil-9a445683ccecfa54005df0d86f79d1d48d4ce90b
    ├── assets
    │   ├── 001-screenshot-main_opt.jpg
    │   ├── 002-screenshot-properties_opt.jpg
    │   ├── 003-screenshot-query_opt.jpg
    │   ├── 004-screenshot-query-and-filter_opt.jpg
    │   ├── 005-screenshot-save-query_opt.jpg
    │   └── 006-screenshot-load-query_opt.jpg
    ├── build.cake
    ├── LICENSE
    ├── README.md
    ├── sample
    │   ├── SampleBasic
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Controllers
    │   │   │   └── HomeController.cs
    │   │   ├── Models
    │   │   │   └── ErrorViewModel.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── SampleBasic.csproj
    │   │   ├── Startup.cs
    │   │   ├── Views
    │   │   │   ├── Home
    │   │   │   │   ├── About.cshtml
    │   │   │   │   ├── Contact.cshtml
    │   │   │   │   └── Index.cshtml
    │   │   │   ├── Shared
    │   │   │   │   ├── Error.cshtml
    │   │   │   │   └── _Layout.cshtml
    │   │   │   ├── _ViewImports.cshtml
    │   │   │   └── _ViewStart.cshtml
    │   │   └── wwwroot
    │   │       ├── css
    │   │       │   └── site.css
    │   │       ├── favicon.ico
    │   │       ├── images
    │   │       │   ├── banner1.svg
    │   │       │   ├── banner2.svg
    │   │       │   ├── banner3.svg
    │   │       │   └── banner4.svg
    │   │       ├── js
    │   │       │   └── site.js
    │   │       └── lib
    │   │           ├── css
    │   │           │   └── bootstrap.min.css
    │   │           └── fonts
    │   │               ├── glyphicons-halflings-regular.eot
    │   │               ├── glyphicons-halflings-regular.svg
    │   │               ├── glyphicons-halflings-regular.ttf
    │   │               ├── glyphicons-halflings-regular.woff
    │   │               └── glyphicons-halflings-regular.woff2
    │   ├── SampleBasicAuth
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Controllers
    │   │   │   └── HomeController.cs
    │   │   ├── Models
    │   │   │   └── ErrorViewModel.cs
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── SampleBasicAuth.csproj
    │   │   ├── Startup.cs
    │   │   ├── Views
    │   │   │   ├── Home
    │   │   │   │   ├── About.cshtml
    │   │   │   │   ├── Contact.cshtml
    │   │   │   │   └── Index.cshtml
    │   │   │   ├── Shared
    │   │   │   │   ├── Error.cshtml
    │   │   │   │   └── _Layout.cshtml
    │   │   │   ├── _ViewImports.cshtml
    │   │   │   └── _ViewStart.cshtml
    │   │   └── wwwroot
    │   │       ├── css
    │   │       │   └── site.css
    │   │       ├── favicon.ico
    │   │       ├── images
    │   │       │   ├── banner1.svg
    │   │       │   ├── banner2.svg
    │   │       │   ├── banner3.svg
    │   │       │   └── banner4.svg
    │   │       ├── js
    │   │       │   └── site.js
    │   │       └── lib
    │   │           ├── css
    │   │           │   └── bootstrap.min.css
    │   │           └── fonts
    │   │               ├── glyphicons-halflings-regular.eot
    │   │               ├── glyphicons-halflings-regular.svg
    │   │               ├── glyphicons-halflings-regular.ttf
    │   │               ├── glyphicons-halflings-regular.woff
    │   │               └── glyphicons-halflings-regular.woff2
    │   ├── SampleNet6
    │   │   ├── appsettings.Development.json
    │   │   ├── appsettings.json
    │   │   ├── Pages
    │   │   │   ├── Error.cshtml
    │   │   │   ├── Error.cshtml.cs
    │   │   │   ├── Index.cshtml
    │   │   │   ├── Index.cshtml.cs
    │   │   │   ├── Privacy.cshtml
    │   │   │   ├── Privacy.cshtml.cs
    │   │   │   ├── Shared
    │   │   │   │   ├── _Layout.cshtml
    │   │   │   │   ├── _Layout.cshtml.css
    │   │   │   │   └── _ValidationScriptsPartial.cshtml
    │   │   │   ├── _ViewImports.cshtml
    │   │   │   └── _ViewStart.cshtml
    │   │   ├── Program.cs
    │   │   ├── Properties
    │   │   │   └── launchSettings.json
    │   │   ├── SampleNet6.csproj
    │   │   └── wwwroot
    │   │       ├── css
    │   │       │   └── site.css
    │   │       ├── favicon.ico
    │   │       ├── js
    │   │       │   └── site.js
    │   │       └── lib
    │   │           ├── bootstrap
    │   │           │   └── LICENSE
    │   │           ├── jquery
    │   │           │   └── LICENSE.txt
    │   │           ├── jquery-validation
    │   │           │   └── LICENSE.md
    │   │           └── jquery-validation-unobtrusive
    │   │               ├── jquery.validate.unobtrusive.js
    │   │               ├── jquery.validate.unobtrusive.min.js
    │   │               └── LICENSE.txt
    │   └── SampleOIDCAuth
    │       ├── appsettings.Development.json
    │       ├── appsettings.json
    │       ├── Controllers
    │       │   └── HomeController.cs
    │       ├── Models
    │       │   └── ErrorViewModel.cs
    │       ├── Program.cs
    │       ├── Properties
    │       │   └── launchSettings.json
    │       ├── SampleOIDCAuth.csproj
    │       ├── Startup.cs
    │       ├── Views
    │       │   ├── Home
    │       │   │   ├── About.cshtml
    │       │   │   ├── Contact.cshtml
    │       │   │   └── Index.cshtml
    │       │   ├── Shared
    │       │   │   ├── Error.cshtml
    │       │   │   └── _Layout.cshtml
    │       │   ├── _ViewImports.cshtml
    │       │   └── _ViewStart.cshtml
    │       └── wwwroot
    │           ├── css
    │           │   └── site.css
    │           ├── favicon.ico
    │           ├── images
    │           │   ├── banner1.svg
    │           │   ├── banner2.svg
    │           │   ├── banner3.svg
    │           │   └── banner4.svg
    │           ├── js
    │           │   └── site.js
    │           └── lib
    │               ├── css
    │               │   └── bootstrap.min.css
    │               └── fonts
    │                   ├── glyphicons-halflings-regular.eot
    │                   ├── glyphicons-halflings-regular.svg
    │                   ├── glyphicons-halflings-regular.ttf
    │                   ├── glyphicons-halflings-regular.woff
    │                   └── glyphicons-halflings-regular.woff2
    ├── Sejil.sln
    ├── src
    │   ├── Sejil.Client
    │   │   ├── config-overrides.js
    │   │   ├── package.json
    │   │   ├── package-lock.json
    │   │   ├── public
    │   │   │   └── index.html
    │   │   ├── src
    │   │   │   ├── api.ts
    │   │   │   ├── App.css
    │   │   │   ├── App.tsx
    │   │   │   ├── components
    │   │   │   │   ├── Content
    │   │   │   │   │   ├── Entry.css
    │   │   │   │   │   ├── Entry.tsx
    │   │   │   │   │   ├── index.css
    │   │   │   │   │   ├── index.tsx
    │   │   │   │   │   └── utils.ts
    │   │   │   │   ├── Header
    │   │   │   │   │   ├── DateFilter.tsx
    │   │   │   │   │   ├── index.css
    │   │   │   │   │   └── index.tsx
    │   │   │   │   ├── index.ts
    │   │   │   │   ├── shared
    │   │   │   │   │   ├── DatePicker.tsx
    │   │   │   │   │   ├── index.ts
    │   │   │   │   │   ├── InfiniteScroll.js
    │   │   │   │   │   └── prompt.tsx
    │   │   │   │   └── Sidebar
    │   │   │   │       ├── index.css
    │   │   │   │       ├── index.tsx
    │   │   │   │       ├── LogExceptionFilter.tsx
    │   │   │   │       ├── LogLevelFilter.css
    │   │   │   │       ├── LogLevelFilter.tsx
    │   │   │   │       ├── SavedQueryList.css
    │   │   │   │       ├── SavedQueryList.tsx
    │   │   │   │       ├── Settings.css
    │   │   │   │       ├── Settings.tsx
    │   │   │   │       ├── Title.css
    │   │   │   │       ├── Title.tsx
    │   │   │   │       ├── UserInfo.css
    │   │   │   │       └── UserInfo.tsx
    │   │   │   ├── Context
    │   │   │   │   ├── index.tsx
    │   │   │   │   ├── logQueryFilterReducer.ts
    │   │   │   │   └── logQueryReducer.ts
    │   │   │   ├── index.css
    │   │   │   ├── index.tsx
    │   │   │   ├── Models
    │   │   │   │   └── index.ts
    │   │   │   └── react-app-env.d.ts
    │   │   └── tsconfig.json
    │   └── Sejil.Server
    │       ├── ApplicationBuilderExtensions.cs
    │       ├── Configuration
    │       │   └── Internal
    │       │       ├── ISejilSettings.cs
    │       │       └── SejilSettings.cs
    │       ├── Data
    │       │   ├── Internal
    │       │   │   ├── ISejilRepository.cs
    │       │   │   ├── ISejilSqlProvider.cs
    │       │   │   ├── SejilRepository.cs
    │       │   │   └── SejilSqlProvider.cs
    │       │   └── Query
    │       │       └── Internal
    │       │           ├── CodeGenerator.cs
    │       │           ├── Expr.cs
    │       │           ├── Parser.cs
    │       │           ├── QueryEngine.cs
    │       │           ├── QueryEngineException.cs
    │       │           ├── Scanner.cs
    │       │           ├── Token.cs
    │       │           └── TokenType.cs
    │       ├── db.sql
    │       ├── HostBuilderExtensions.cs
    │       ├── Logging
    │       │   ├── LoggerConfigurationExtensions.cs
    │       │   └── Sinks
    │       │       └── SejilSink.cs
    │       ├── Models
    │       │   └── Internal
    │       │       ├── LogEntry.cs
    │       │       ├── LogEntryProperty.cs
    │       │       ├── LogQuery.cs
    │       │       └── LogQueryFilter.cs
    │       ├── ResourceHelper.cs
    │       ├── Routing
    │       │   └── Internal
    │       │       ├── ISejilController.cs
    │       │       └── SejilController.cs
    │       ├── Sejil.csproj
    │       ├── ServiceCollectionExtensions.cs
    │       └── WebHostBuilderExtensions.cs
    └── test
        └── Sejil.Server.Test
            ├── ApplicationBuilderExtensionsTests.cs
            ├── Configuration
            │   ├── SejilSettingsEnvDependantTests.cs
            │   └── SejilSettingsTests.cs
            ├── Data
            │   ├── Query
            │   │   ├── ParserTests.cs
            │   │   └── ScannerTests.cs
            │   ├── SejilRepositoryTests.cs
            │   └── SejilSqlProviderTests.cs
            ├── HostBuilderExtensionsTests.cs
            ├── Logging
            │   ├── LoggerConfigurationExtensionsTests.cs
            │   └── Sinks
            │       └── SejilSinkTests.cs
            ├── Models
            │   └── LogEntryTests.cs
            ├── Routing
            │   └── SejilControllerTests.cs
            ├── Sejil.Test.csproj
            ├── ServiceCollectionExtensionsTests.cs
            └── WebHostBuilderExtensionsTests.cs

90 directories, 204 files

标签:

实例下载地址

ASP.net core应用日志捕获与查看工具Sejil教程

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警