Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon อะไรคือประโยชน์ของการใช้ microsoft.extensions.logging ผ่านระบบการบันทึกก่อนหน้าของ MVVMcross


อะไรคือประโยชน์ของการใช้ microsoft.extensions.logging ผ่านระบบการบันทึกก่อนหน้าของ MVVMcross


การใช้ microsoft.extensions.logging ผ่านระบบการบันทึกก่อนหน้าของ MVVMcross ให้ประโยชน์หลายประการ:

1. ความยืดหยุ่นและการขยายความสามารถ: Microsoft.extensions.logging ให้เลเยอร์นามธรรมที่ช่วยให้นักพัฒนาสามารถใช้ผู้ให้บริการบันทึกต่างๆเช่น Serilog, NLOG หรือ Log4Net ความยืดหยุ่นนี้หมายความว่าเฟรมเวิร์กการบันทึกสามารถเปลี่ยนได้อย่างง่ายดายขึ้นอยู่กับความต้องการของโครงการโดยไม่ต้องเปลี่ยนรหัสพื้นฐาน ในทางตรงกันข้ามระบบก่อนหน้าของ MVVMCROSS นั้นเข้มงวดมากขึ้นและจำเป็นต้องมีการใช้งานเฉพาะสำหรับผู้ให้บริการที่แตกต่างกัน [1] [2]

2. การสนับสนุนการฉีดพึ่งพาการพึ่งพา: Microsoft.extensions.logging รวมเข้ากับกรอบการฉีดพึ่งพาการพึ่งพาทำให้ง่ายขึ้นในการฉีดล็อกเกอร์ลงในชั้นเรียน สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับการทดสอบหน่วยเนื่องจากช่วยให้การสร้างคนตัดไม้จำลองสามารถตรวจสอบพฤติกรรมการบันทึก [7] MVVMCROSS ยังรองรับการฉีดพึ่งพาสำหรับการบันทึก แต่การใช้ microsoft.extensions.logging ให้วิธีการที่ได้มาตรฐานมากขึ้นในเฟรมเวิร์กที่แตกต่างกัน [2]

3. ความเสถียรและการสนับสนุนชุมชน: Microsoft.extensions.logging เป็น API ที่นำมาใช้อย่างกว้างขวางและมีเสถียรภาพซึ่งได้รับการสนับสนุนโดย Microsoft และชุมชน. NET ที่กว้างขึ้น ความมั่นคงนี้ช่วยให้มั่นใจได้ว่าจะได้รับการดูแลและปรับปรุงอย่างต่อเนื่องโดยให้ความน่าเชื่อถือในระยะยาวสำหรับโครงการ [2] [9]

4. การกำหนดค่าที่ง่ายขึ้น: ด้วย microsoft.extensions.logging การกำหนดค่าสามารถจัดการได้ผ่าน appsettings.json หรือไฟล์การกำหนดค่าอื่น ๆ ซึ่งทำให้กระบวนการตั้งค่าง่ายขึ้นเมื่อเทียบกับเฟรมการบันทึกอื่น ๆ สิ่งนี้เป็นประโยชน์อย่างยิ่งเมื่อใช้ผู้ให้บริการเช่น Serilog หรือ NLOG ซึ่งสามารถกำหนดค่าได้โดยใช้ JSON [7]

5. การหลีกเลี่ยงการล็อคผู้ขาย: โดยใช้เลเยอร์ที่เป็นนามธรรมเช่น microsoft.extensions.logging นักพัฒนาหลีกเลี่ยงการผูกรหัสของพวกเขากับเฟรมเวิร์กการบันทึกเฉพาะ สิ่งนี้ทำให้ง่ายต่อการสลับระหว่างผู้ให้บริการการบันทึกที่แตกต่างกันโดยไม่มีการเปลี่ยนแปลงรหัสที่สำคัญลดการล็อคผู้ขายและเพิ่มความยืดหยุ่นของโครงการ [9]

6. ความสามารถในการปรับขนาดและประสิทธิภาพ: Microsoft.extensions.logging ออกแบบมาเพื่อจัดการสถานการณ์การบันทึกประสิทธิภาพสูงอย่างมีประสิทธิภาพ รองรับการบันทึกแบบอะซิงโครนัสและสามารถปรับให้เหมาะสมสำหรับสภาพแวดล้อมที่แตกต่างกันทำให้เหมาะสำหรับการใช้งานขนาดใหญ่ [9]

โดยสรุป Microsoft.extensions.logging นำเสนอโซลูชันการบันทึกที่ยืดหยุ่นได้และได้รับการสนับสนุนอย่างกว้างขวางซึ่งรวมเข้ากับการฉีดพึ่งพาและผู้ให้บริการการบันทึกต่างๆ

การอ้างอิง:
[1] https://developer.vonage.com/en/blog/adaptive-library-logging-with-microsoft-extensions-logging-dr
[2] https://www.mvvmcross.com/documentation/fundamentals/logging-new
[3] https://stackoverflow.com/questions/46483019/logging-from-static-members-with-microsoft-extensions-logging
[4] https://learn.microsoft.com/en-us/ef/core/logging-events-diagnostics/extensions-logging
[5] https://www.mvvmcross.com/documentation/upgrading/upgrade-to-mvvmcross-60
[6] https://stackoverflow.com/questions/42356802/how-does-microsoft-extensions-logging-work-full-full-net-framework
[7] https://stackoverflow.com/questions/58209076/microsoft-extensions-logging-vs-nlog
[8] https://stackoverflow.com/questions/68075159/mvvm-cross-logging-setup-class
[9] https://blog.stephencleary.com/2018/05/microsoft-extensions-logging-part-1-introduction.html
[10] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle
[11] https://www.reddit.com/r/dotnet/comments/142fs0y/serilog_vs_microsoft_logger_ilogger/
[12] https://github.com/mvvmcross/mvvmcross/issues/2936