日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Log4net使用简介

發布時間:2024/4/17 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Log4net使用简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一?Log4net簡介

Log4net是基于.net開發的一款非常著名的記錄日志開源組件。他最早是2001年7月由NeoWorks?Limited啟動的項目,基本的框架源于另外的一個非常著名的姐妹組件-log4j。Log4net記錄日志的功能非常強大。它可以將日志分不同的等級,比不同的樣式,將日志輸出到不同的媒介。

Log4net可以從http://logging.apache.org/log4net/download.html網站下載最新版本。

二?Log4net核心組成

Log4net主要由五個部分組成,分別為Logger,Appenders,?Filters,?Layouts?和Object?Renders。

一)?????????Logger(日志)

1.?記錄日志的分類:

Log4net能夠以多種方式輸出日志。支持的日志輸出常用的主要媒介有數據庫(包括MS?SQL?Server,?Access,?Oracle9i,Oracle8i,DB2,SQLite,控制臺,文件,事件日志(可以用事件查看器查看)和郵件等多種方式。

2.?日志的級別

Log4net支持多種級別的日志。優先級從高到低依次排列如下:

FATAL?>?ERROR?>?WARN?>?INFO?>?DEBUG

此外還有ALL(允許所有的日志請求)和OFF(拒絕所有的日志請求)這兩種特殊的級別。

二)?????????Appenders

Appenders決定日志輸出的方式。

Appenders必須實現log4net.Appenders.IAppender接口。

Log4net目前支持的輸出方式包括:
1?AdoNetAppender
????將日志記錄到數據庫中。可以采用SQL和存儲過程兩種方式。

2?AnsiColorTerminalAppender
????在ANSI?窗口終端寫下高亮度的日志事件。

3?AspNetTraceAppender
????能用asp.net中Trace的方式查看記錄的日志。

4?BufferingForwardingAppender
????在輸出到子Appenders之前先緩存日志事件。

5?ConsoleAppender
????將日志輸出到控制臺。

6?EventLogAppender
????將日志寫到Windows?Event?Log.?

7?FileAppender
????將日志寫到文件中。

8?LocalSyslogAppender
????將日志寫到local?syslog?service?(僅用于UNIX環境下).?
9?MemoryAppender
????將日志存到內存緩沖區。

10?NetSendAppender
????將日志輸出到Windows?Messenger?service.這些日志信息將在用戶終端的對話框中顯示。

11?RemoteSyslogAppender
????通過UDP網絡協議將日志寫到Remote?syslog?service。

12?RemotingAppender
????通過.NET?Remoting將日志寫到遠程接收端。

13?RollingFileAppender
????將日志以回滾文件的形式寫到文件中。

14?SmtpAppender
????將日志寫到郵件中。

15?TraceAppender
????將日志寫到.NET?trace?系統。

16?UdpAppender
????將日志connectionless?UDP?datagrams的形式送到遠程宿主或以UdpClient的形式廣播。?

三)?????????Filters

Appender對象將日志以缺省的方式傳到輸出流,然后Filter可以按照不同的標準控制日志的輸出。Filter可以再配置文件中配置。最簡單的形式是在appender中寫明一個Threshold.這樣只有級別大于或等于此Threshold的日志才被記錄。

Filters必須實現log4net.Filters.IFilter接口。

四)?????????Layouts

Layouts控制日志顯示的格式樣式。日志的顯示格式如下:

"%timestamp?[%thread]?%-5level?%logger?-?%message%newline"

Timestamp:?表示程序已經開始執行的時間。?單位[毫秒]。

Thread:執行當前代碼的線程。

Level:日志的級別。

Logger:日志相關請求的名稱。

Message: 日志消息。

Layouts還可以控制日志的輸出樣式,比如以普通形式或以xml等形式輸出。

五)?????????Object?Renderers

這是很重要的一項,log4net將按照用戶定義的標準輸出日志消息。

Object?Renders必須實現log4net.ObjectRenderer.IObjectRenerer接口。

三?如何在項目中使用log4net

下面有個基于控制臺的demo,舉例描述了log4net怎么用于輸出日志。
本例中,日志將會記錄到文件,控制臺,事件日至和Access數據庫中。

配置文件

Code
<?xml?version="1.0"?encoding="utf-8"??>
<configuration>
??
<configSections>
????
<section?name="log4net"?type="System.Configuration.IgnoreSectionHandler"/>
??
</configSections>
??
<appSettings>
??
</appSettings>
??
<log4net>
????
<!--定義輸出到文件中-->
????
<appender?name="LogFileAppender"?type="log4net.Appender.FileAppender">
??????
<!--定義文件存放位置-->
??????
<file?value="D:\log\log4netfile.txt"?/>
??????
<appendToFile?value="true"?/>
??????
<rollingStyle?value="Date"?/>
??????
<datePattern?value="yyyyMMdd-HH:mm:ss"?/>
??????
<layout?type="log4net.Layout.PatternLayout">
????????
<!--每條日志末尾的文字說明-->
????????
<footer?value="by?綠水青山"?/>
????????
<!--輸出格式-->
????????
<!--樣例:2008-03-26?13:42:32,111?[10]?INFO??Log4NetDemo.MainClass?[(null)]?-?info-->
????????
<conversionPattern?value="記錄時間:%date?線程ID:[%thread]?日志級別:%-5level?出錯類:%logger?property:[%property{NDC}]?-?錯誤描述:%message%newline"?/>
??????
</layout>
????
</appender>
????
<!--定義輸出到控制臺命令行中-->
????
<appender?name="ConsoleAppender"?type="log4net.Appender.ConsoleAppender">
??????
<layout?type="log4net.Layout.PatternLayout">
????????
<conversionPattern?value="%date?[%thread]?%-5level?%logger?[%property{NDC}]?-?%message%newline"?/>
??????
</layout>
????
</appender>
????
<!--定義輸出到windows事件中-->
????
<appender?name="EventLogAppender"?type="log4net.Appender.EventLogAppender">
??????
<layout?type="log4net.Layout.PatternLayout">
????????
<conversionPattern?value="%date?[%thread]?%-5level?%logger?[%property{NDC}]?-?%message%newline"?/>
??????
</layout>
????
</appender>
????
<!--定義輸出到數據庫中,這里舉例輸出到Access數據庫中,數據庫為d盤的log4net.mdb-->
????
<appender?name="AdoNetAppender_Access"?type="log4net.Appender.AdoNetAppender">
??????
<connectionString?value="Provider=Microsoft.Jet.OLEDB.4.0;Data?Source=d:\log\log4net.mdb"?/>
??????
<commandText?value="INSERT?INTO?LogDetails([LogDate],[Thread],[Level],[Logger],[Message])?VALUES(@logDate,?@thread,?@logLevel,?@logger,@message)"?/>
??????
<!--定義各個參數-->
??????
<parameter>
????????
<parameterName?value="@logDate"?/>
????????
<dbType?value="String"?/>
????????
<size?value="240"?/>
????????
<layout?type="log4net.Layout.PatternLayout">
??????????
<conversionPattern?value="%date"?/>
????????
</layout>
??????
</parameter>
??????
<parameter>
????????
<parameterName?value="@thread"?/>
????????
<dbType?value="String"?/>
????????
<size?value="240"?/>
????????
<layout?type="log4net.Layout.PatternLayout">
??????????
<conversionPattern?value="%thread"?/>
????????
</layout>
??????
</parameter>
??????
<parameter>
????????
<parameterName?value="@logLevel"?/>
????????
<dbType?value="String"?/>
????????
<size?value="240"?/>
????????
<layout?type="log4net.Layout.PatternLayout">
??????????
<conversionPattern?value="%level"?/>
????????
</layout>
??????
</parameter>
??????
<parameter>
????????
<parameterName?value="@logger"?/>
????????
<dbType?value="String"?/>
????????
<size?value="240"?/>
????????
<layout?type="log4net.Layout.PatternLayout">
??????????
<conversionPattern?value="%logger"?/>
????????
</layout>
??????
</parameter>
??????
<parameter>
????????
<parameterName?value="@message"?/>
????????
<dbType?value="String"?/>
????????
<size?value="240"?/>
????????
<layout?type="log4net.Layout.PatternLayout">
??????????
<conversionPattern?value="%message"?/>
????????
</layout>
??????
</parameter>
????
</appender>
????
<!--定義日志的輸出媒介,下面定義日志以四種方式輸出。也可以下面的按照一種類型或其他類型輸出。-->
????
<root>
??????
<!--文件形式記錄日志-->
??????
<appender-ref?ref="LogFileAppender"?/>
??????
<!--控制臺控制顯示日志-->
??????
<appender-ref?ref="ConsoleAppender"?/>
??????
<!--Windows事件日志-->
??????
<appender-ref?ref="EventLogAppender"?/>
??????
<!--?如果不啟用相應的日志記錄,可以通過這種方式注釋掉-->
??????
<!--<appender-ref?ref="AdoNetAppender_Access"?/>-->
??????
????
</root>
????
<logger?name="CusLog">
??????
??????
????
</logger>

??
</log4net>
</configuration>

?

CS示例

?

Code
?1//?Configure?log4net?using?the?.config?file
?2[assembly:?log4net.Config.XmlConfigurator(Watch=true)]
?
3//?This?will?cause?log4net?to?look?for?a?configuration?file
?4//?called?ConsoleApp.exe.config?in?the?application?base
?5//?directory?(i.e.?the?directory?containing?ConsoleApp.exe)
?6
?7
namespace?ConsoleApp
?
8{
?
9????using?System;
10
11????/**////?<summary>
12????///?Example?of?how?to?simply?configure?and?use?log4net
13????///?</summary>
14????public?class?LoggingExample
15????{
16????????private?static?readonly?log4net.ILog?log?=?log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
17????????
18????????public?static?void?Main(string[]?args)
19????????{
20????????????log.Error("Error?Acc");
21????????????log.Fatal("Fatle?Acc");????????????
22????????????System.Console.ReadLine();
23????????????
24????????}
25
26????}
27}

轉載于:https://www.cnblogs.com/wudingfeng/archive/2008/09/03/1283065.html

總結

以上是生活随笔為你收集整理的Log4net使用简介的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 黄色自拍网站 | 免费视频福利 | youjizz韩国| 欧美一区二不卡视频 | 亚洲热在线视频 | 高潮又黄又刺激 | 天堂va蜜桃一区二区三区漫画版 | 热热久 | 中文字幕一区二区不卡 | 91福利专区 | 日本大胆欧美人术艺术 | 极品美女销魂一区二区三区 | 爱福利视频网 | 麻豆亚洲av成人无码久久精品 | 国产毛片毛片毛片毛片毛片毛片 | 午夜中出 | 国产欧美精品一区 | 国产东北真实交换多p免视频 | av伦理在线 | 日韩精品在线视频免费观看 | 成人亚洲在线 | 蜜臀一区二区三区精品免费视频 | 亚洲成人黄| 国产精品自拍偷拍 | 欧美变态绿帽cuckold | 国产超碰人人模人人爽人人添 | 国产v亚洲v天堂无码 | 国产成人在线免费观看视频 | 国产一区二区三区免费观看视频 | 国产精品3p视频 | 制服丝袜先锋 | 加勒比日韩 | 久久国产亚洲精品无码 | 国产山村乱淫老妇女视频 | 日本一区二区三区免费看 | 在线国产精品视频 | 国产激情在线播放 | 日本香蕉网 | 欧美a在线播放 | 午夜精品久久久久久久蜜桃 | 日本不卡视频一区二区 | 国产精品精 | 亚洲免费片 | 精品亚洲乱码一区二区 | 激情综合影院 | 99久久婷婷国产综合精品电影 | 色播亚洲 | 少妇又白又嫩又色又粗 | 亚洲国产日韩在线 | 嫩草研究院在线观看 | 今天高清视频在线观看视频 | 免费一级suv好看的国产网站 | 日本精品一区在线观看 | 伊人影院在线观看 | 午夜爽爽视频 | 蜜臀99久久精品久久久久久软件 | 秋霞福利| 在线观看69 | 欧美黄色一级大片 | 久久免费资源 | 另类综合在线 | 午夜男人天堂 | a毛片大片 | 超碰caopor| 色噜噜狠狠狠综合曰曰曰 | 亲子乱aⅴ一区二区三区 | 免费av高清 | 亚洲国产私拍精品国模在线观看 | 欧美视频久久久 | 日日日操 | 成人网色 | 午夜精品久久久久久久99老熟妇 | 免费国产黄 | 免费av地址| 欧美肥老妇视频 | www日本视频 | 日本免费专区 | 夜夜爽天天爽 | 欧美在线二区 | 91久久精品日日躁夜夜躁国产 | 情趣五月天 | 色婷婷欧美 | 精品久久99 | 久久大胆 | 黄色网址中文字幕 | 精品久久人妻av中文字幕 | 亚洲电影一区二区 | 亚洲熟妇av日韩熟妇在线 | 99r在线视频| 黄页网站免费在线观看 | 久久人人干| 成人在线观看免费视频 | www.youjizz日本 | 91成人综合 | 亚洲精品自拍视频 | 国产精品免费无码 | 超碰网站在线观看 | 精品视频中文字幕 | 免费成人国产 |