將Error異常日誌從普通日誌中剝離

2021-07-27 16:36:21 字數 3440 閱讀 4639

開發過程中經常需要除錯和線上環境檢視異常日誌的需求,但普通資訊與異常訊息混在一起實在是非常難得找,上則nm的文件夠你頭痛,所以就將error級別的日誌抽離出來。

本示例採用log4net來配置:

1、先配置web.config,新增:

<

configsections

>

<

section

name

="log4net"

type

="log4net.config.log4netconfigurationsectionhandler,log4net"

>

section

>

configsections

>

2、在直接下級新增:

<

log4net

>

<

name

type

>

<

param

name

="file"

value

="log/"

/>

<

param

name

value

="true"

/>

<

param

name

="maxsizerollbackups"

value

="10"

/>

<

param

name

="staticlogfilename"

value

="false"

/>

<

param

name

="datepattern"

value

="yyyy-mm-dd'.txt'"

/>

<

param

name

="rollingstyle"

value

="date"

/>

<

layout

type

="log4net.layout.patternlayout"

>

<

param

name

="conversionpattern"

value

="%d [%thread] %-5level %logger %ndc - %message%newline"

/>

layout

>

>

<

name

type

>

<

param

name

="file"

value

="log/"

/>

<

param

name

value

="true"

/>

<

param

name

="maxsizerollbackups"

value

="10"

/>

<

param

name

="staticlogfilename"

value

="false"

/>

<

param

name

="datepattern"

value

="yyyy-mm-dd'-error.txt'"

/>

<

param

name

="rollingstyle"

value

="date"

/>

<

layout

type

="log4net.layout.patternlayout"

>

<

param

name

="conversionpattern"

value

="%date 執行緒id:[%thread] 日誌級別:%-5level 出錯類:%logger property:[%property] - 錯誤描述:%message%newline"

/>

layout

>

>

<

root

>

<

level

value

="info"

/>

<

ref/>

<

level

value

="error"

/>

<

ref/>

root

>

log4net

>

注意高亮處

infolog中配置 info ,只記錄info

errorlog中 從error級別開始。

這樣就可以將error抽離出來。

3、定義日誌類loghelper

public

static

class

loghelper

public

static

void info(string

msg)

public

static

void warn(string

msg)

public

static

void error(string

msg)

public

static

void error(string

errtitle, exception ex)

public

static

void fatal(string

msg)

}

4、使用

loghelper.info("內容不正確");

loghelper.error("

post方法執行錯誤

", ex);

最終會出現兩個檔案且error記錄都在error中info中無error記錄:

********************====這是個害羞的分割線*************************===

後面經過測試發現按照之前的配置info資訊被過濾掉了,只生成了普通日誌檔案,但內容為空,因此配置有問題,改配置。

去掉root中的內容。

新增兩個logger。

c 將捕獲異常放到日誌

在網上搜,捕獲的異常放到日誌中。原始碼還挺多,但是存在問題。一頭一尾少乙個字母。修改了一下可以執行了。public static void writeerorrlog exception ex else write.writeline 異常物件 ex.source write.writeline 呼...

Linux 檢視ERROR日誌方法

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!more tail vi 但是由於日誌太大了,而我只需要記錄error資訊就可以了,通過用more和vi查日誌都是從上往下查出error資訊,雖然tail是從後向前檢視,但是又不好定位應該看多少行才能找到最後乙個error資訊。有什麼辦法或命令能夠...

異常和日誌

class excption exception 自定義異常類 pass try input 請輸入性別 if 男 and 女 raise exception 性別只能是男或女 except excption as ex print ex except exception as ex print e...