Sử dụng Microsoft.Extensions.Logging trên hệ thống ghi nhật ký trước đó của MVVMCROSS mang lại một số lợi ích:
1. Tính linh hoạt và khả năng mở rộng: Microsoft.Extensions.Logging cung cấp một lớp trừu tượng cho phép các nhà phát triển sử dụng các nhà cung cấp đăng nhập khác nhau như Serilog, NLOG hoặc Log4NET. Tính linh hoạt này có nghĩa là khung ghi nhật ký có thể dễ dàng hoán đổi tùy thuộc vào nhu cầu của dự án, mà không thay đổi mã cơ bản. Ngược lại, hệ thống trước đây của MVVMCROSS cứng hơn và bắt buộc hơn các triển khai cụ thể cho các nhà cung cấp khác nhau [1] [2].
2. Điều này đặc biệt hữu ích cho việc kiểm tra đơn vị, vì nó cho phép tạo ra các trình ghi nhật ký giả để xác minh hành vi ghi nhật ký [7]. MVVMCROSS cũng hỗ trợ tiêm phụ thuộc để ghi nhật ký, nhưng sử dụng Microsoft.Extensions.Logging cung cấp một cách tiếp cận được tiêu chuẩn hóa hơn trên các khung khác nhau [2].
3. Tính ổn định và hỗ trợ cộng đồng: Microsoft.Extensions.Logging là API được áp dụng rộng rãi và ổn định, được hỗ trợ bởi Microsoft và cộng đồng .NET rộng hơn. Sự ổn định này đảm bảo rằng nó sẽ tiếp tục được duy trì và cập nhật, cung cấp độ tin cậy dài hạn cho các dự án [2] [9].
4. Điều này đặc biệt có lợi khi sử dụng các nhà cung cấp như Serilog hoặc NLOG, có thể được cấu hình bằng JSON [7].
5. Tránh khóa nhà cung cấp: Bằng cách sử dụng một lớp trừu tượng như microsoft.extensions.logging, các nhà phát triển tránh buộc mã của họ vào một khung ghi nhật ký cụ thể. Điều này giúp dễ dàng chuyển đổi giữa các nhà cung cấp khai thác khác nhau mà không cần thay đổi mã đáng kể, giảm khả năng khóa của nhà cung cấp và tăng tính linh hoạt của dự án [9].
6. Khả năng mở rộng và hiệu suất: Microsoft.Extensions.Logging được thiết kế để xử lý các kịch bản ghi nhật ký hiệu suất cao một cách hiệu quả. Nó hỗ trợ ghi nhật ký không đồng bộ và có thể được tối ưu hóa cho các môi trường khác nhau, làm cho nó phù hợp cho các ứng dụng quy mô lớn [9].
Tóm lại, Microsoft.Extensions.Logging cung cấp một giải pháp khai thác linh hoạt, có thể mở rộng và được hỗ trợ rộng rãi, tích hợp tốt với việc tiêm phụ thuộc và các nhà cung cấp khai thác khác nhau, khiến nó trở thành một lựa chọn vượt trội so với hệ thống khai thác trước đây của MVVMCROSS cho nhiều kịch bản phát triển.
Trích dẫn:[1] https://developer.vonage.com/en/blog/adaptive-library-logging-with-microsoft-extensions-logging-dr
[2] https://www.mvvmcross.com/documentation/fundaments/logging-new
[3] https://stackoverflow.com/questions/4648602
[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-for-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
.
[12] https://github.com/mvvmcross/mvvmcross/issues/2936