
Logging, Monitoring & Observability
ILogger, Serilog, Application Insights, OpenTelemetry (traces, metrics), health checks, structured logging
1อินเทอร์เฟซ ILogger ใน .NET คืออะไร?
อินเทอร์เฟซ ILogger ใน .NET คืออะไร?
คำตอบ
ILogger คืออินเทอร์เฟซ logging มาตรฐานที่ Microsoft.Extensions.Logging จัดเตรียมให้ มันกำหนดสัญญาแบบเดียวกันสำหรับบันทึกข้อความที่ระดับความรุนแรงต่างกัน ทำให้สามารถแยกการนำระบบ logging ไปใช้งานจริงออกได้ การแยกส่วนนี้ทำให้เปลี่ยน provider ของ log ได้ง่ายโดยไม่ต้องแก้โค้ดแอปพลิเคชัน และช่วยให้ทำ unit testing ผ่าน dependency injection ได้สะดวก
2ระดับ log ที่มีใน ILogger จากน้อยไปมากที่สุดมีอะไรบ้าง?
ระดับ log ที่มีใน ILogger จากน้อยไปมากที่สุดมีอะไรบ้าง?
คำตอบ
ILogger กำหนดระดับความรุนแรงที่เรียงลำดับไว้ 6 ระดับ ได้แก่ Trace สำหรับ debugging แบบละเอียด, Debug สำหรับข้อมูลการพัฒนา, Information สำหรับการทำงานปกติของแอปพลิเคชัน, Warning สำหรับสถานการณ์ผิดปกติที่ไม่ขัดขวางการทำงาน, Error สำหรับข้อผิดพลาดที่กู้คืนได้ และ Critical สำหรับความล้มเหลวของระบบที่ต้องแก้ไขทันที ลำดับชั้นนี้ช่วยให้กรอง log ตามสภาพแวดล้อมได้
3ความแตกต่างหลักระหว่าง LogLevel.Debug และ LogLevel.Trace คืออะไร?
ความแตกต่างหลักระหว่าง LogLevel.Debug และ LogLevel.Trace คืออะไร?
คำตอบ
Trace เป็นระดับที่ละเอียดที่สุด มีไว้สำหรับข้อมูลวินิจฉัยที่ละเอียดมาก เช่น การไหลของการทำงานแบบทีละบรรทัด ขณะที่ Debug มีข้อมูลที่เป็นประโยชน์ต่อการพัฒนาแต่ละเอียดน้อยกว่า ในระบบ production ทั้งสองมักถูกปิดใช้งาน แต่ Trace สร้างปริมาณข้อมูลมากกว่ามากและอาจกระทบประสิทธิภาพแม้ในระหว่างการพัฒนาหากใช้ผิดวิธี
จะ inject ILogger เข้าไปในคลาส service ใน .NET ได้อย่างไร?
structured logging คืออะไรและให้ประโยชน์อะไรบ้าง?
+19 คำถามสัมภาษณ์
หัวข้อสัมภาษณ์ .NET อื่นๆ
พื้นฐาน C#
LINQ & Delegates
พื้นฐานสำคัญของภาษา C#
พื้นฐาน ASP.NET Core
วงจรชีวิตของ request ใน ASP.NET Core
Configuration & Settings
วงจรชีวิตของแอปพลิเคชัน
Dependency Injection
Entity Framework Core
Minimal APIs
การพัฒนา Web API
Async ใน ASP.NET Core
Authentication & Authorization
HttpClient & Networking
การซีเรียลไลซ์ JSON
Entity Framework Core ขั้นสูง
ฟีเจอร์ขั้นสูงของ C#
Clean Architecture
Unit Testing และ xUnit
การทดสอบแบบบูรณาการ
Docker & Containerization
การจัดการแพ็กเกจ NuGet
Memory Management & GC
การเขียนโปรแกรมแบบรีแอกทีฟ
Async/await และรูปแบบ
.NET Design Patterns
การเพิ่มประสิทธิภาพการทำงาน
ความปลอดภัยและ Best Practices
SignalR และเรียลไทม์
สถาปัตยกรรม Microservices
เชี่ยวชาญ .NET สำหรับการสัมภาษณ์ครั้งถัดไป
เข้าถึงคำถามทั้งหมด flashcards แบบทดสอบเทคนิค แบบฝึกหัด code review และตัวจำลองสัมภาษณ์
เริ่มใช้ฟรี