2016年8月11日 星期四

[筆記]Nlog Elmah 大合體步驟

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


Step11. 到NuGet安裝NLog.Elmah


Step12. 開啟NLog.Config加入extensions、targetlogger 
 如下圖所示加入
<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