NLog學習筆記一

2022-07-17 01:30:21 字數 3350 閱讀 3431

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 類物件進行日誌記錄,**如下:

1

using

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 }

view code

可以在應用程式配置檔案或nlog.config檔案中配置nlog,此處我們直接修改nlog.config檔案,修改後如下:

1

<?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

view code

現在可以編譯執行程式,測試執行是否正常。正常情況下,我們可以在控制台、輸出視窗和日誌檔案中看到記錄的日誌資訊。

注意:在開發階段,建議設定

"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 步要用的時間,我們可以用如下 表示每一步花費的時間...