nlog是乙個基於.net的免費的開源的日誌記錄類庫。(官網:
nlog特點如下:
配置簡單方便。可以將配置資訊寫的應用程式的配置檔案中,或者寫到單獨的 nlog.config 配置檔案中。
修改配置資訊後立即生效,不用重啟應用程式。通過設定 "
true
" /> 來實現。
內建了豐富的模板變數layout renders。例如: $ , $ , $ 等。
可以將日誌記錄到多個目標targets。例如:控制台、輸出視窗、檔案、資料庫、郵件等。
支援擴充套件,可自定義目標。
使用nlog的理由如下:
能夠通過簡單的配置和修改控制顯示不同等級的跟蹤資訊。
將控制跟蹤資訊的顯示與否的邏輯與**分開,修改跟蹤資訊的顯示不需要重新編譯程式。
此處只是為測試nlog,所以建立乙個簡單控制台應用程式,名稱為nlogconsoledemo,如圖:
注意:此處選擇的程式位置應選擇應用程式可以建立檔案的路徑。
可以通過兩種方式應用nlog,分別如下:
1)通過程式包管理控制台安裝,命令如下: pm> install-package nlog.config 。(推薦)
通過方式一安裝結果如圖:
注意:一定要修改nlog.config檔案的屬性中複製到輸出目錄的值為始終複製或如果較新則複製。
建議通過 logmanager 建立乙個私有靜態( private sttatic )的 logger 類物件進行日誌記錄,**如下:
1view codeusing
nlog;
2using
system;
3using
system.collections.generic;
4using
system.linq;
5using
system.text;
6using
system.threading.tasks;78
namespace
nlogconsoledemo921
22public
static
void
logtest()
2335
36public
static
void
logtest2()
37, l=
", k, l);
42 logger.debug("
sample debug message, k=, l=
", k, l);
43 logger.info("
sample informational message, k=, l=
", k, l);
44 logger.warn("
sample warning message, k=, l=
", k, l);
45 logger.error("
sample error message, k=, l=
", k, l);
46 logger.fatal("
sample fatal error message, k=, l=
", k, l);
47 logger.log(loglevel.info, "
sample informational message, k=, l=
", k, l);48}
49}50 }
可以在應用程式配置檔案或nlog.config檔案中配置nlog,此處我們直接修改nlog.config檔案,修改後如下:
1view code<?xml version="
1.0" encoding="
utf-8
" ?>2"
"3 xmlns:xsi="
"4 xsi:schemalocation="
nlog.xsd
"5 autoreload="
true
"6 throwexceptions="
false
"7 internalloglevel="
off" internallogfile="
c:\temp\nlog-internal.log
" >89
1011
"console
" xsi:type="
coloredconsole
" layout="
$ | $
"/>
1213
"debugger
" xsi:type="
debugger
" layout="
$ | $ | $
" />
1415
"error_file
" xsi:type="
file
" maxarchivefiles="
30" filename="
$/logs/error.log
" />
161718"
*" minlevel="
trace
" writeto="
console
" />19"
*" minlevel="
debug
" writeto="
debugger
" />20"
*" minlevel="
error
" writeto="
error_file
" />
2122
現在可以編譯執行程式,測試執行是否正常。正常情況下,我們可以在控制台、輸出視窗和日誌檔案中看到記錄的日誌資訊。
注意:在開發階段,建議設定
"true
" />
,方便快速定位問題。
學習筆記一
lisp 最重要的一種執行模式之一 repl that endless cycle of reading,evaluating,and printing is why it s called the read eval print loop or repl.第乙個lisp程式 在repl模式下執行l...
學習筆記 一
什麼是seo?搜尋引擎優化 search engine optimization,簡稱seo 是一種利用搜尋引擎的搜尋規則來提高目的 在有關搜尋引擎內的排名的方式。深刻理解是 通過seo這樣一套基於搜尋引擎的營銷思路,為 提供生態式的自我營銷解決方案,讓 在行業內佔據領先地位,從而獲得品牌收益。研究...
學習筆記一
今天兩節課,也就是兩個問題的分析裝配線排程問題和矩陣鏈相乘ai,j中的 i,j 分別表示的是第 i 條線路的第 j 個步驟,每個線路每條步驟都有不同的用時,還有t i j中的 i,j 表示的就是從第 i 條線路第 j 步到達另外一條線路的第 j 1 步要用的時間,我們可以用如下 表示每一步花費的時間...