แสดง Log ใน ASP.NET Core ผ่านเว็บด้วย Sejil

wk
1 min readSep 30, 2018

--

Sejil เป็นไลบรารีที่ช่วยให้สามารถ Monitor log ผ่านหน้าเว็บ โดยใช้ Filter คล้ายคำสั่ง SQL สามารถระบุช่วงเวลาและ Log level โดย Log ทั้งหมดจะถูกเก็บไว้ในฐานข้อมูล SQLite

วิธีติดตั้ง

  1. สร้าง Web API
dotnet new webapi --language C# --output src/DotNetSejil

2. ติดตั้ง package Sejil

dotnet add src/DotNetSejil/DotNetSejil.csproj package Sejil --version 1.0.0-beta5

3. แก้ไขไฟล์ Program.csโดยเพิ่ม Middleware Sejil ดังนี้

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.AddSejil("/sejil", LogLevel.Information)
.UseStartup<Startup>();

4. เรียกใช้ Middleware โดยใช้คำสั่ง app.UseSejil() ในไฟล์ Startup.cs

public void Configure(IApplicationBuilder app, 
IHostingEnvironment env) {
...
app.UseSejil();
app.UseHttpsRedirection();
app.UseMvc();
}

6. สร้าง API โดยเขียน Log ตามต้องการ ตัวอย่าง HelloController.cs

7. รันโปรแกรม

dotnet run --project src/DotNetSejil/DotNetSejil.csproj

9. เรียก API ผ่าน Http client เช่น Rest client

POST https://localhost:5001/api/hello/hi
Content-Type: application/json
{
"from": "wk",
"message": "hi"
}

10. ดู Log ผ่าน https://localhost:5001/sejil สามารถ Filter ให้แสดงเฉพาะ Log ของ API ที่สนใจ เช่น

RequestPath like '/api/hello%'

--

--

No responses yet