Quantcast làm việc với Elmah trong asp.net

làm việc với Elmah trong asp.net

by Neon Quach 2. Tháng Bảy 2011 22:52

Elmah là từ viết tắt của (Error Logging Modules and Handlers) là 1 module quản lý lổi, giúp chúng ta có thể trace cũng như phát hiện  lỗi 1 cách dễ dàng. 1 lợi điểm của sử dụng Elmah là chỉ cần gắn vào(plugins), thay vì phải viết code để handle exceptions.

Việc các bạn cần làm là khai báo cách lưu trữ lổi trong Elmah, việc còn lại Elmah sẽ take care toàn bộ.

Thông tin thêm về Elmah và cũng như những tính năng vượt trội của nó các bạn có thể tham khảo tại: http://code.google.com/p/elmah/

Trong bài viết này mình mình sẽ hướng dẫn các bạn cách làm thế nào để khai báo, gắn Elmah vào website và lưu trữ lỗi cũng như là exception trong xml.

Chú ý: Để cho đơn giản mình sẽ sử dụng XML cho phần data storage exception, ngoài ra chúng ta có thể lưu trử chúng vào 1 data storage khác, chẳng hạn như: CSDL (sql), XML, memory....

Let's get started!

Đầu tiên chúng ta download version mới nhất của Elmah tại đây

Tạo 1 website asp.net và reference Elmah.dll vừa extract bên trên.

Drap and drop 1 button vào và sử lý sự kiện Click để quăng 1 biệt lệ:

<asp:Button ID="btnException" runat="server" Text="Exception" onclick="btnException_Click" />

protected void btnException_Click(object sender, EventArgs e)

{

    throw new NullReferenceException("Throw my new custom null exception");

}

Ở đây chỉ là 1 exception do mình tự tạo ra để chứng mình ELamh handel exceptions của chúng ta như thế nào?

Bước kế tiếp là config elmah trong web.config

<?xml version="1.0"?>

 

<!--

  For more information on how to configure your ASP.NET application, please visit

  http://go.microsoft.com/fwlink/?LinkId=169433

  -->

 

<configuration>

  <configSections>

 

    <sectionGroup name="elmah">

      <section name="errorLog" requirePermission="false" type="Elmah.ErrorLogSectionHandler, Elmah" />

    </sectionGroup>

  </configSections>

  <elmah>

    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />

  </elmah>

  <system.web>

    <compilation debug="false" targetFramework="4.0" />

    <httpHandlers>

      <add verb="POST,GET,HEAD" path="elmah.axd" type="Elmah.ErrorLogPageFactory, Elmah" />

    </httpHandlers>

    <httpModules>

      <add name="ErrorLog" type="Elmah.ErrorLogModule, Elmah" />

    </httpModules>

  </system.web>

</configuration>


Chú ý tag:

  <elmah> 

    <errorLog type="Elmah.XmlFileErrorLog, Elmah" logPath="~/App_Data" />

  </elmah>

 

Dùng để cấu hình type of storage file log của Elmah, nếu chúng ta muốn log các message lỗi vào CSDL Sql thì config sẽ là: <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="MyAppConnectionString"/>

Để xem màn hình lỗi chúng ta truy cập vào: http://localhost:6913/WorkingWithElmah/elmah.axd

Thử chạy website lên và click và button btnException, sau đó truy cập vào đường dẫn elmah.axd chúng ta sẽ thấy kq như sau:

Tags:


Categories: asp.net

blog comments powered by Disqus

Powered by BlogEngine.NET 2.8.2.1 - Eco Theme by n3o Web Designers