Tôi đang xem một trang asp.net mới trong 3.5 hoàn toàn không có lỗi xử lý hoặc ghi nhật ký. Một số tùy chọn tốt cho việc ghi nhật ký và xử lý lỗi là gì? Tôi đã sử dụng Log4Net trên khuôn khổ 1.1 nhưng nghe có những lựa chọn có khả năng tốt hơn trong 3.5.ASP.NET Logging - log4net hoặc theo dõi sức khỏe?
Trả lời
Một tùy chọn là ELMAH. Tôi hỏi một câu hỏi về nó ở đây: ASP.NET Error Handling.
Kể từ đó, tôi đã thực hiện một phiên bản được sửa đổi một chút của nó và việc ghi nhật ký cộng với e-mail rất tuyệt vời và dễ dàng tích hợp qua tệp web.config.
Enterprise Library có thể có đường cong học tập nhưng là một dự án hay.
Trong Asp.Net làm theo bài viết david hayden của Enterprise Library 2.0 Logging Application Block
Nếu bạn đang sử dụng để log4net, gắn bó với những gì bạn biết. Thật dễ dàng, nhanh chóng và hoạt động tốt. Tôi đã sử dụng nó trong nhiều năm trong 1,1, 2,0, và bây giờ 3,5.
Giám sát sức khỏe ASP.NET thực sự thực hiện công việc khá tốt ngay từ đầu!
MSDN, How to: Send E-mail for Health Monitoring Notifications
Cá nhân, tôi havent thử log4net nhưng thấy thông số kỹ thuật và các ví dụ cho winforms, nhưng tổ chức của tôi được mã hóa công cụ ghi nhớ của chúng ta rằng các báo cáo và các bản ghi lỗi được đánh bắt trong global.asax rằng báo cáo tất cả những gì chúng ta cần để biết về dấu vết ngăn xếp, phiên (nếu có), NVC của biểu mẫu, phiên bản của ứng dụng, URL đã phát sinh lỗi với chuỗi truy vấn và tiêu đề HTTP. Mặc dù tôi nhận thấy rằng không phải tất cả các lỗi đều được ghi lại ở đó; chẳng hạn như các hình thức xác thực hết hạn hoặc hồ bơi ứng dụng khởi động lại/tắt máy hoặc bất kỳ điều gì được báo cáo bởi IIS không được thực thi bởi ứng dụng.
Chúng tôi sử dụng hai lựa chọn để khai thác gỗ của chúng tôi: -
ELMAH cho ngoại lệ bất ngờ xử lý
NLog cho dự đoán, tay (debug, thông tin và báo lỗi) thông tin.
ELMAH là một out-of-the-box Plugin tuyệt vời mà sẽ tự động chụp ngoại lệ (từ (trang 404 của không tìm thấy) đến 500 ngoại lệ ném) và đã tích hợp sẵn trong web-ui để hình dung các lỗi này. Vì vậy, đó là một cách thực sự nhanh chóng và hiệu quả để lấy lỗi bất ngờ xảy ra.
Bây giờ NLoglời khen điều này bằng cách phát triển của chúng tôi bằng tay chèn thông tin gỡ lỗi vào mã tại các điểm cụ thể, vì vậy khi chúng ta cần phải nhận được thông tin từ một hệ thống phi locahost, nó rất dễ dàng. Ví dụ, chúng ta rải rác log.Debug(..)
mã trong hầu hết các phương pháp của chúng tôi để xem biến cục bộ là gì hoặc giá trị trả lại, v.v. Để biết thêm thông tin quan trọng, chúng tôi sử dụng log.Info(..)
.. nhưng sử dụng ít hơn rất nhiều. Cuối cùng, đối với các lỗi nghiêm trọng mà chúng tôi đã bẫy và xử lý, chúng tôi sử dụng log.Error(..)
hoặc log.Warn(..)
.. thường nằm trong một số phạm vi try/catch
. Vì vậy, trên máy chủ thử nghiệm hoặc máy chủ trực tiếp của chúng tôi, chúng tôi bật tất cả trạng thái ghi nhật ký (ví dụ: Debug
và cao hơn) nếu chúng tôi cần lấy dữ liệu LOTS, trực tiếp ... hoặc chỉ thông tin quan trọng chung, chẳng hạn như trạng thái Info
và cao hơn. Chúng tôi luôn có trạng thái là Warn, Error and Fatal
. Trạng thái gỡ lỗi tạo ra rất nhiều dữ liệu, vì vậy chúng tôi chỉ sử dụng ít thôi.
Vì vậy, để tóm tắt, tôi đề nghị bạn sử dụng HAI cách tiếp cận với WebApp của bạn. Elmah cho tuyệt đối không mong muốn lỗi bẫy và NLog cho được mong đợi thông tin và lỗi.
Cuối cùng, NLog là WAAAY dễ sử dụng/làm việc hơn Log4Net. Về cơ bản nó vượt quá nó, IMO.
- 1. Tính năng theo dõi sức khỏe Weblogic
- 2. Log4Net hoặc Logging Application Block
- 3. Làm thế nào để theo dõi sức khỏe hàng đợi trong cần tây
- 4. Giám sát sức khỏe dịch vụ WCF
- 5. ASP.NET là giám sát sức khỏe và ELMAH lựa chọn thay thế của nhau?
- 6. Tải theo dõi trên Ứng dụng ASP.NET
- 7. log4net Logging Debug.WriteLine và Console.WriteLine
- 8. Cách theo dõi các sự cố log4net
- 9. Bạn có kiểm tra sức khỏe trong ứng dụng web hoặc trang web của mình không?
- 10. log4net vs MS Logging Application Block
- 11. Thực hành tốt về kiểm tra sức khỏe ứng dụng web Java
- 12. Sử dụng log4net với ASP.NET để theo dõi các biến Session
- 13. Dấu hiệu quan trọng nhất của dự án quan trọng để theo dõi điều đó sẽ giúp đánh giá sức khỏe của dự án là gì?
- 14. Log4net/Logging - Bạn thấy điều gì hữu ích?
- 15. Theo dõi/theo dõi của HABTM theo dõi/theo dõi
- 16. Kiểm tra sức khỏe cho kết nối Cassandra (sử dụng hector)?
- 17. pixel theo dõi hoặc javascript bao gồm?
- 18. Cách theo dõi elasticsearch bằng nagios
- 19. Bộ lọc Log4Net "HOẶC"
- 20. SynchronizationLockException + Logging
- 21. theo dõi lỗi js
- 22. Sự khác biệt giữa mức độ theo dõi TẤT CẢ & DEBUG trong LOG4NET
- 23. Configure log4net cho dự án asp.net MVC3
- 24. Theo dõi chuyển động và theo dõi Blob
- 25. log4net so với TraceSource
- 26. Biến theo dõi hoặc thay đổi bộ nhớ trong Xcode?
- 27. Thư viện theo dõi khuôn mặt cho Java hoặc Python
- 28. Vé theo dõi lỗi nội bộ - Redmine, Trac hoặc JIRA
- 29. Trình theo dõi tiến trình theo dõi lưu lượng video?
- 30. Bảng theo dõi kiểu theo dõi của Twitter trong SQL
Tôi làm cách nào để bảo mật trang nhật ký của mình? – Caveatrob
Đó là một phần của "sửa đổi" của tôi. Tôi không muốn bất kỳ thông tin đăng nhập nào bị lộ ra, vì vậy tôi đã tưới nó xuống để chỉ ghi lại thông tin vào cơ sở dữ liệu và gửi e-mail cho tôi. Sau đó, khi tôi nhận được một e-mail, tôi có thể xem xét nhật ký cơ sở dữ liệu. Tôi vẫn chưa yêu cầu xem từ xa. – NYSystemsAnalyst
Scott Hanselman cũng có một bài đăng tốt về việc bắt đầu và hoạt động với ELMAH: http://www.hanselman.com/blog/ELMAHErrorLoggingModulesAndHandlersForASPNETAndMVCToo.aspx –