ต้องมีกรอบการทำงานของบุคคลที่สามคือSerilogแต่ฉันก็ยังพบว่ามันเป็นสิ่งที่ดีมากประสบการณ์ที่ราบรื่นในการส่งออกไปยังสถานที่ที่ฉันสามารถเห็นได้
คุณต้องติดตั้งชุดติดตาม Traceของ Serilog ก่อน เมื่อติดตั้งแล้วคุณจะต้องตั้งค่าตัวบันทึกดังนี้:
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.CreateLogger();
(คุณสามารถตั้งค่าระดับต่ำสุดที่แตกต่างกันหรือตั้งเป็นค่าปรับแต่งหรือฟังก์ชั่น Serilog ปกติก็ได้นอกจากนี้คุณยังสามารถตั้งค่า Trace
logger ให้อยู่ในระดับที่เฉพาะเจาะจงเพื่อแทนที่ configs หรืออย่างไรก็ตามคุณต้องการทำเช่นนี้)
จากนั้นคุณเพียงแค่บันทึกข้อความตามปกติและพวกเขาจะปรากฏขึ้นในหน้าต่างผลลัพธ์ของคุณ:
Logger.Information("Did stuff!");
มันไม่ได้เป็นเรื่องใหญ่อะไรอย่างนี้เลยขอผมอธิบายข้อดีเพิ่มเติมหน่อย หนึ่งที่ใหญ่ที่สุดสำหรับฉันคือฉันสามารถเข้าสู่ทั้งหน้าต่างผลลัพธ์และคอนโซลพร้อมกัน:
Logger = new LoggerConfiguration()
.MinimumLevel.Verbose()
.WriteTo.Trace()
.WriteTo.Console(standardErrorFromLevel: LogEventLevel.Error)
.CreateLogger();
นี้ให้ฉันความยืดหยุ่นที่ดีในแง่ของวิธีการที่ฉันบริโภคการส่งออกได้โดยไม่ต้องทำซ้ำทุกสายของฉันไปด้วยConsole.Write
Debug.Write
เมื่อเขียนรหัสฉันสามารถเรียกใช้เครื่องมือบรรทัดคำสั่งใน Visual Studio ได้โดยไม่ต้องกลัวว่าจะสูญเสียเอาต์พุตเมื่อออก เมื่อฉันปรับใช้และจำเป็นต้องแก้ไขข้อบกพร่องบางอย่าง (และไม่มี Visual Studio ให้ใช้) คอนโซลเอาต์พุตพร้อมใช้งานสำหรับการบริโภคของฉัน ข้อความเดียวกันนี้ยังสามารถบันทึกลงในไฟล์ (หรือซิงค์ชนิดอื่น) เมื่อมันทำงานเป็นงานที่กำหนดเวลาไว้
บรรทัดล่างคือการใช้ Serilog ในการทำสิ่งนี้ทำให้ง่ายต่อการถ่ายโอนข้อความไปยังจุดหมายปลายทางที่หลากหลายทำให้มั่นใจได้ว่าฉันสามารถเข้าถึงเอาต์พุตได้อย่างง่ายดายไม่ว่าฉันจะวิ่งอย่างไร
นอกจากนี้ยังต้องมีการตั้งค่าและรหัสน้อยมาก
Debug.WriteLine()