C#:
การบันทึกล็อก

วิธีการ:

ใน C#, คุณสามารถใช้ System.Diagnostics namespace ในตัวหรือไลบรารี่ของบุคคลที่สามเช่น NLog หรือ log4net นี่คือตัวอย่างที่รวดเร็วโดยใช้ ILogger interface ที่มีใน .NET Core:

using Microsoft.Extensions.Logging;
using System;

public class Program
{
    public static void Main()
    {
        using var loggerFactory = LoggerFactory.Create(builder => {
            builder.AddConsole();
        });

        ILogger logger = loggerFactory.CreateLogger<Program>();

        logger.LogInformation("นี่คือข้อความข้อมูล");
        logger.LogWarning("นี่คือข้อความเตือน");
        logger.LogError("นี่คือข้อความข้อผิดพลาด");
    }
}

ตัวอย่างผลลัพธ์:

info: Program[0]
      นี่คือข้อความข้อมูล
warn: Program[0]
      นี่คือข้อความเตือน
fail: Program[0]
      นี่คือข้อความข้อผิดพลาด

การศึกษาเพิ่มเติม

ประวัติของการบันทึกในการพัฒนาซอฟต์แวร์นั้นเก่าแก่เกือบเท่ากับการเขียนโปรแกรมเอง; ได้พัฒนาจากคำสั่งพิมพ์ง่ายๆ ไปสู่ระบบที่สามารถปรับแต่งได้อย่างซับซ้อน ในต้นแต่การบันทึกจะทำโดยการเขียนลงในไฟล์หรือคอนโซล แต่ได้ขยายไปสู่โครงสร้างที่ซับซ้อนมากขึ้น เช่น ระบบรวมบันทึกและแพลตฟอร์มติดตามแบบกระจาย (เช่น ELK stack หรือ Jaeger).

ตัวเลือกที่นอกเหนือจากการบันทึกในตัวของ .NET ได้แก่ ไลบรารี่ของบุคคลที่สาม:

  • NLog: หลากหลาย และง่ายต่อการตั้งค่า มีคุณสมบัติมากมายสำหรับการเส้นทาง, การจัดรูปแบบ และการกรองบันทึก
  • log4net: ได้แรงบันดาลใจจากไลบรารี่ log4j ของ Java นี้สามารถปรับแต่งได้อย่างสูงจาก XML และรองรับหลายไร้พพอสิทอรีบันทึก

เมื่อพูดถึงรายละเอียดในการดำเนินการ การเลือกการสรุปการบันทึกของคุณ (เช่น Microsoft.Extensions.Logging) และผู้ให้บริการบันทึกข้อมูลภายใต้สามารถส่งผลอย่างมากต่อประสิทธิภาพและความน่าเชื่อถือของแอปพลิเคชันของคุณ มันสำคัญที่จะต้องกำหนดระดับการบันทึกอย่างเหมาะสมและให้แน่ใจว่าการเขียนบันทึกไม่เป็นจุดขัดข้อง

นอกจากนี้ การบันทึกโครงสร้าง - ซึ่งคุณบันทึกไม่เพียงแต่สตริง แต่ยังมีคู่คีย์-ค่าหรือวัตถุ - อนุญาตให้มีบันทึกที่แม่นยำและสามารถดำเนินการได้มากขึ้น ซึ่งง่ายต่อการค้นหาและวิเคราะห์

ดูเพิ่มเติม