1、首先引用log4net.dll
2、logexceptionattribute.cs檔案
[
attributeusage
(attributetargets.class, inherited =
true
, allowmultiple =
false)]
public
class
logexceptionattribute
:handleerrorattribute
] 的 action 時產生異常"
; loggerhelper.
error
(string
.format
(msgtemplate, controllername, actionname)
, filtercontext.exception);}
if(filtercontext.
result
is jsonresult)
else
}}
3、global檔案配置如下
//註冊 log4net
log4net.config.xmlconfigurator.
configure
(new
system.io.fileinfo
"log4net.config"))
;
4、filterconfig配置
public
static
void
registerglobalfilters
(globalfiltercollection filters)
5、log4net.config
<
?xml version=
"1.0"
?>
"log4net" type=
"log4net.config.log4netconfigurationsectionhandler, log4net"
/>
<
/configsections>
<
!--錯誤日誌--
>
>
="log\\logerror\\"
/>
="true"
/>
="date"
/>
="yyyy\\yyyymm\\yyyymmdd'.txt'"
/>
="false"
/>
"maxsizerollbackups"
value
="100"
/>
"log4net.layout.patternlayout"
>
<
!--每條日誌末尾的文字說明--
>
<
!--輸出格式--
>
<
!--樣例:2008-03
-2613:
42:32,
111[10]
info log4netdemo.mainclass [
(null)]
- info--
>
>
<
/layout>
<
<
!--info日誌--
>
>
"file"
value
="log\\loginfo\\"
/>
value
="true"
/>
"maxfilesize"
value
="10240"
/>
"maxsizerollbackups"
value
="100"
/>
"staticlogfilename"
value
="false"
/>
"datepattern"
value
="yyyy\\yyyymm\\yyyymmdd'.txt'"
/>
"rollingstyle"
value
="date"
/>
"log4net.layout.patternlayout"
>
>
<
/layout>
<
<
!--監控日誌--
>
>
"file"
value
="log\\logmonitor\\"
/>
value
="true"
/>
"maxfilesize"
value
="10240"
/>
"maxsizerollbackups"
value
="100"
/>
"staticlogfilename"
value
="false"
/>
"datepattern"
value
="yyyy\\yyyymm\\yyyymmdd'.txt'"
/>
"rollingstyle"
value
="date"
/>
"log4net.layout.patternlayout"
>
>
<
/layout>
<
<
!--error日誌--
>
"logerror"
>
="error"
/>
refref=/
>
<
/logger>
<
!--info日誌--
>
"loginfo"
>
="info"
/>
refref=/
>
<
/logger>
<
!--監控日誌--
>
"logmonitor"
>
="monitor"
/>
refref=/
>
<
/logger>
<
/log4net>
<
/configuration>
6、loggerhelper.cs檔案
public
class
loggerhelper
else
}public
static
void
info
(string msg)
public
static
void
monitor
(string msg)
}
7、補充:json異常返回jsonexceptionattribute.cs
[
attributeusage
(attributetargets.method, inherited =
true
, allowmultiple =
false)]
public
class
jsonexceptionattribute
:handleerrorattribute};
}}}
使用時在上面加上
[jsonexcetion]
public view longin(){}
說明:目錄結構分為logerror、loginfo、logmonitor區分開了錯誤日誌、info日誌、監控日誌,並且會按照日期生成日誌,方便我們檢視。
Mvc 異常過濾器
mvc自帶乙個異常過濾器即handleerrorattribute 1.首先要進行配置web.config defaultredirect表示需要跳轉的錯誤頁面,mode需設定為 on或者 remoteonly.注 handleerror只處理伺服器500錯誤,404 400等這些錯誤不進行處理,如...
MVC異常過濾器處理異常資訊
今天學習了mvc的過濾器,寫一下筆記!一 過濾器分類 1.authorization 許可權過濾器 一般用於登入驗證 或其他許可權管理 2.action 行為過濾器 可讓其執行自定義的方法 3.result 結果過濾器 可讓其執行自定義的方法 4.exception 異常過濾器 可獲取程式中的錯誤資...
MVC使用異常過濾器處理異常
在mvc的開發過程中,我們可能會遇到一些 錯誤導致的異常,如下圖所示,展示了乙個除數為0的異常。在mvc裡,自動為我們提供了一種異常處理器,並且應用在所有控制器上。在filters資料夾裡建立類,類名為 自定義 attribute,如我建立的類名為myeorroattribute。然後在繼承filt...