Step1. 到NuGet安裝Elmah及用到的3個套件
(下圖右側打勾的項目)
(下圖右側打勾的項目)
Step2. 裝好Elmah的3個套件後會看到一個SQL檔(Elmah.SqlServer.sql),執行它把Table建起來
Step3. 在專案的web.config檔中找到安裝Elmah套件時所產生的項目(elmah-sqlserver),然後填入connectionString
Step4. 一樣在web.config檔中找到errorLog並在這個tag中加入一個屬性applicationName="你想填入的名稱"
補充題外話:這個步驟原本沒做,結果測試的時候發現DB中有寫入NLog的錯誤資料但是頁面上卻沒有顯示...
Step5. 如果設定成對外連的到怕別人猜到路徑可以根據喜好修改名稱,不過要改3個項目都要改
Step6. 寫一段會出錯的程式來測試一下結果
Step7. 執行該頁面後到DB查看是否有紀錄
Step8. 接著開啟Elmah的紀錄頁
(網址: [你的Domain]/[你在Step5修改的名稱].axd)
Step9. 點選畫面列表中的Detail可以看到完整的錯誤訊息
Step10. 到NuGet安裝NLog套件及另外兩個
NLog Configuration、NLog Schema for Intellisense
NLog Configuration、NLog Schema for Intellisense
Step11. 到NuGet安裝NLog.Elmah
Step12. 開啟NLog.Config加入extensions、target及logger
如下圖所示加入
<extensions>
<extensions>
<add assembly="NLog.Elmah">
</extensions>
如下圖所示加入
<target xsi:type="Elmah" name="elmah" layout="${longdate} ${uppercase:${level}} ${message}" LogLevelAsType="true"/>
如下圖所示加入
<logger name="*" minlevel="Trace" writeTo="elmah" />
Step13. 到Controller中加入測試的Code後建置然後開啟頁面
Step14. 到DB及Elmah的紀錄頁中看結果
The End