2009-06-02 29 views
9

Nhóm của tôi hiện đang trong quá trình xây dựng ứng dụng ASP.NET MVC và chúng tôi đang cố gắng quyết định khung công tác nào cần thực hiện để xử lý lỗi và ghi nhật ký.ELMAH vs Khối Xử lý Ngoại lệ của Thư viện Doanh nghiệp

Lý do chọn một trong số này là gì?

+0

Tại sao bạn không xem xét log4net? – Paco

+0

log4net không xử lý ngoại lệ. Nó chỉ ghi lại chúng (ví dụ ghi vào một tập tin, cơ sở dữ liệu, gửi email ...). ELMAH và EL_EHB cho phép bạn xác định chính sách khi một ngoại lệ xảy ra. Ví dụ: khi loại ngoại lệ này xảy ra, hãy làm điều này. Các logger và các trình xử lý ngoại lệ là bổ sung. – ihebiheb

Trả lời

11

Cá nhân, tôi đã sử dụng Thư viện doanh nghiệp cho một số khách hàng của mình và tôi chưa sử dụng ELMAH. Đây là suy nghĩ của tôi về Ent Lib.

  • Nó sẽ đưa bạn một chút để có được tốc độ với Ent Lib - nó không phải là 5 giây cài đặt và bắt đầu sử dụng nó.
  • Có rất nhiều cấu hình để thực hiện trong tệp app.config/web.config chỉ để làm cho nó hoạt động. Điều đó nói rằng, một khi bạn hiểu nó, nó dễ dàng hơn trên các dự án khác.
  • Bạn phải triển khai Khối Ghi nhật ký, không chỉ Khối Xử lý Ngoại lệ để đăng nhập thông tin ở đâu đó (nhật ký sự kiện, tệp phẳng, cơ sở dữ liệu, v.v.)
  • Nó không chỉ dành cho các ngoại lệ ghi nhật ký. Ví dụ: nhiều khách hàng của chúng tôi muốn nhận sự kiện nhật ký khi người dùng đăng nhập hoặc đăng xuất khỏi ứng dụng.
  • Bạn có thể sử dụng tệp cấu hình để thay đổi cách ghi nhật ký hoạt động tùy thuộc vào môi trường (ví dụ: Ngoại lệ nhật ký cho Sản xuất, đăng nhập mọi thứ cho Dev, v.v.).
  • Nó không chỉ dành cho web, mà còn cho tất cả các loại ứng dụng.

Một cái nhìn lướt qua tại ELMAH khiến tôi tin rằng đó là một cách tuyệt vời để có được thứ gì đó nhanh chóng. Dài hạn, bạn có thể muốn một cái gì đó với sức mạnh bổ sung.

6

ELMAH rất đơn giản, dễ sử dụng và dễ triển khai. EntLib lớn, "enterprisey", và mạnh mẽ. Trong trường hợp của bạn, dựa trên ít tôi biết về tình hình của bạn, tôi sẽ ngần ngại đề nghị bất cứ điều gì. Tuy nhiên nếu tôi phải chọn một cho bạn, tôi sẽ nói ELMAH vì những lý do đã nêu.

+0

Có bất kỳ thông tin nào tôi có thể cung cấp để giúp đề xuất của bạn dễ dàng hơn không? - Cảm ơn –

+0

Loại ứng dụng này sẽ là gì? Bạn có cần quản lý chính sách ngoại lệ hay chỉ đăng nhập ngoại lệ? –

5

Tôi có thể rời khỏi đây, điều này thường xảy ra, nhưng EntLibrary có nghĩa là giúp phát triển xử lý ngoại lệ trong khi ELMAH là jsut sẽ cho bạn biết khi nào và ở đâu ngoại lệ xảy ra. Nếu bạn chỉ muốn có một báo cáo về ngoại lệ, hãy sử dụng ELMAH, nếu bạn cần nhiều quyền lực hơn EntLib.

3

Ngoài ra, Elmah được thiết kế đặc biệt để chụp và ghi nhật ký unhandled ngoại lệ. Nó có thể được cấu hình để ghi lại các ngoại lệ bị bắt, nhưng đó là một sự bổ sung gần đây và không phải là mục đích chính của nó.