2016年4月28日 星期四

[研究][C#] ELMAH - ASP.NET錯誤記錄模組 (Error Logging Modules and Handlers)

[研究][C#] ELMAH - ASP.NET錯誤記錄模組 (Error Logging Modules and Handlers)

2016-04-22

環境:Windows Server 2012 R2 + Visual Studio 2015 with Update 2

一般網路上找到的都是 ASP.NET MVC + elmah,小弟使用 WebForm 測試。

(下圖) 先自己建立一個 ASP.NET 應用程式,在 專案 (Project,不是 方案 Solution) 上按下滑鼠右鍵,選「管理NuGet套件」

(下圖)點選「瀏覽」,點選「elmah」,點選找到的第一個,點選「安裝」按鈕

(下圖) 按下「確定」按鈕




(下圖) 方案已經加入 elmah 套件了

  (下圖) 把網站發行(佈署) 後,在網站的網址後面加上 elmah.axd,例如
http://localhost/elmah.axd
如果網站發生了 例外 (Exception),這裡就會顯示出來



********************************************************************************

elmah 預設儲存在記憶體,當 application pool 重新啟動,就全部遺失,可以考慮改安裝 elmah.sqlserver



web.config 會被修改成類似如下:

<?xml version="1.0" encoding="utf-8"?>
<!--
  如需如何設定 ASP.NET 應用程式的詳細資訊,請造訪
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5.2" />
    <httpRuntime targetFramework="4.5.2" />
  </system.web>
  <system.codedom>
    <compilers>
      <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
      <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
    </compilers>
  </system.codedom>
<elmah>
    <errorLog type="Elmah.SqlErrorLog, Elmah" connectionStringName="elmah-sqlserver" />
  </elmah><connectionStrings>
    <!-- TODO: Replace the ****'s with the correct entries -->
    <add name="elmah-sqlserver" connectionString="Data Source=****;User ID=****;Password=****;Initial Catalog=****;" providerName="System.Data.SqlClient" />
  </connectionStrings></configuration>

DataSource 如果是本機,可填句點;不然可填 IP
Initial Catalog 是資料庫名稱
(完)

elmah
https://code.google.com/p/elmah/

[ASP.NET][WebForm] 使用 ELMAH 捕捉 Exception 記錄
https://dotblogs.com.tw/yc421206/archive/2014/05/22/145209.aspx

Logging Error Details with ELMAH (C#)
http://www.asp.net/web-forms/overview/older-versions-getting-started/deploying-web-site-projects/logging-error-details-with-elmah-cs

如何偵錯--ELMAH 絕妙的偵錯工具安全架設於ASP.NET MVC
http://demo.tc/post/606

ASP.NET保安系列 - 關於elmah.axd的安全設定
http://blog.darkthread.net/post-2011-03-10-elmah-axd-security.aspx

如何在 ASP.NET MVC 4 套用 ELMAH 錯誤紀錄模組
http://blog.miniasp.com/post/2013/03/12/ASPNET-MVC-4-and-ELMAH-Integration.aspx

Asp.net MVC 必裝NuGet套件Elmah(16)
http://marco.easyusing.com/2013/11/aspnet-mvc-nugetelmah16.html

沒有留言:

張貼留言