發(fā)文章
發(fā)文工具
撰寫
網(wǎng)文摘手
文檔
視頻
思維導(dǎo)圖
隨筆
相冊(cè)
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
經(jīng)過(guò)在網(wǎng)上搜索部分解決方案,大致可以歸納如下,并在當(dāng)前環(huán)境下測(cè)試成功
首先說(shuō)明一點(diǎn)的是,log4net解決的問(wèn)題是提供一個(gè)記錄日志的框架,它提供了向多種目標(biāo)寫入的實(shí)現(xiàn),比如利用log4net可以方便地將日志信息記錄到文件、控制臺(tái)、Windows事件日志和數(shù)據(jù)庫(kù)(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中,一般來(lái)說(shuō)我們只需要提供一個(gè)描述性的字符串,然后log4net就會(huì)自動(dòng)提供有關(guān)運(yùn)行時(shí)的一些信息。
Log4Net的版本仍是1.2.10,有.NET1.0和.NET1.1和.NET2.0版本,如果有正在使用高于.NET2.0開(kāi)發(fā)的也不用擔(dān)心,可以直接引用這個(gè)類庫(kù),像在.NET2.0中開(kāi)發(fā)一樣,它的網(wǎng)址是:http://logging./log4net/
關(guān)于在Web中支持的問(wèn)題
在我們開(kāi)發(fā)項(xiàng)目時(shí)都會(huì)使用到config文件,可以在config文件中配置log4net。這一點(diǎn)Web項(xiàng)目和WinForm項(xiàng)目都是一樣的。需要注意的是,因?yàn)樵赪eb項(xiàng)目中一般以較低權(quán)限的角色來(lái)運(yùn)行Web項(xiàng)目的,所以在使用文件型日志時(shí)要注意不要放在本項(xiàng)目根文件夾之外。
要使用log4net,首先要在config文件的<configSections>節(jié)點(diǎn)中增加配置(如果沒(méi)有這個(gè)節(jié)點(diǎn)請(qǐng)手動(dòng)增加),如下:
<configSections> <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> </configSections>
可將config文件配置在app.config中,也可以單獨(dú)生成一個(gè)config文件,我在這里是單獨(dú)使用了log4net.config
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/> </configSections> <log4net> <root> <!--文件形式記錄日志--> <!--<appender-ref ref="LogFileAppender" />--> <!--控制臺(tái)控制顯示日志--> <<!--appender-ref ref="ConsoleAppender" />--> <!--Windows事件日志--> <!--<appender-ref ref="EventLogAppender" />--> <!--SQLite事件日志--> <!--<appender-ref ref="AdoNetAppender_SQLite" />--> <!--RollingFileAppender事件日志--> <!--<appender-ref ref="RollingFileAppender" />--> <!--RollingFileAppender事件日志,每天一個(gè)日志--> <appender-ref ref="RollingLogFileAppender_DateFormat" /> <!-- 如果不啟用相應(yīng)的日志記錄,可以通過(guò)這種方式注釋掉 --> <!--appender-ref ref="AdoNetAppender_Access" />--> </root> <appender name="RollingLogFileAppender_DateFormat" type="log4net.Appender.RollingFileAppender"> <!--日志的路徑--><!-- <file value="log/log" /> --><!--是否覆蓋,默認(rèn)是追加true--><!-- <appendToFile value="true"/> --><!--文件名稱--><!-- <DatePattern value="yyyyMMdd ".txt""></DatePattern> --><!--設(shè)置無(wú)限備份=-1 ,最大備份數(shù)為1000--><!-- <maxSizeRollBackups value="1000"/> --><!--每個(gè)文件的最大20k--><!-- <maximumFileSize value="20"/> --><!--名稱是否可以更改,為false為可以更改--><!-- <param name="StaticLogFileName" value="false" /> <param name="RollingStyle" value="Composite" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%d [%r] [%t] %-5p %c - %m%n%n" /> </layout>--> <file value="log.txt" /> <DatePattern value="yyyyMMdd ".txt""></DatePattern> <appendToFile value="true" /> <rollingStyle value="Date" /> <!--<datePattern value="yyyyMMdd-HHmm" />--> <datePattern value="yyyyMMdd" /> <maximumFileSize value="200"/> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%date [%thread](%file:%line) %-5level %logger [%property{NDC}] - %message%newline" /> </layout> </appender> </log4net> </configuration>
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]
或者:[assembly: log4net.Config.XmlConfigurator()] (把log4net的配置在web的配置文件時(shí))
之前根據(jù)一示例設(shè)置了以下后出現(xiàn)登錄的問(wèn)題:
[assembly: log4net.Config.DOMConfigurator(ConfigFileExtension = "config", Watch = true)]
就出現(xiàn)了調(diào)試能登錄系統(tǒng),但編譯后不能登錄,系統(tǒng)老提示網(wǎng)絡(luò)設(shè)置錯(cuò)誤。具體是因何原因引起。仍沒(méi)有弄明白,還望大家知道的能告知。所以不要使用這種方法。
//創(chuàng)建日志記錄組件實(shí)例 ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); //ILog log = log4net.LogManager.GetLogger(typeof(Program)); ////記錄錯(cuò)誤日志 //log.Error("error", new Exception("在這里發(fā)生了一個(gè)異常,Error Number:" + random.Next())); //記錄嚴(yán)重錯(cuò)誤 //log.Fatal("fatal", new Exception("在發(fā)生了一個(gè)致命錯(cuò)誤,Exception Id:"+random.Next())); //記錄一般信息 //log.Info("提示:系統(tǒng)正在運(yùn)行"); //記錄調(diào)試信息 //log.Debug("調(diào)試信息:debug"); //記錄警告信息 log.Warn("警告:warn");
另:有一個(gè)有關(guān)Log4Net使用說(shuō)明的博客可參考。
http://www.cnblogs.com/kissazi2/p/3389551.html
來(lái)自: 昵稱10504424 > 《工作》
0條評(píng)論
發(fā)表
請(qǐng)遵守用戶 評(píng)論公約
在C#應(yīng)用中使用Common Logging日志接口
<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net"><appender name="debugLog" type="log4net.Appender.Rollin...
Log4日志配置(轉(zhuǎn))
Log4日志組件的應(yīng)用確實(shí)簡(jiǎn)單實(shí)用,在比較了企業(yè)庫(kù)和Log4的日志功能后,個(gè)人覺(jué)得Log4的功能更加強(qiáng)大點(diǎn).補(bǔ)充說(shuō)明下,我使用的企業(yè)庫(kù)是2.0版本,Log4net是1.2.1版本的.
ASP.NET Core 實(shí)現(xiàn) Log4Net 的配置
ASP.NET Core 實(shí)現(xiàn) Log4Net 的配置。1、添加NuGet包:Microsoft.Extensions.Logging.Log4Net.AspNetCore.><log4net> <appender name="DebugAppender" type="log4net.DebugA...
ASP.NET中使用Apache log4net - .NET2.0 成功在于總結(jié) - 博...
ASP.NET中使用Apache log4net log4net是Apache log4j的.net版,是一套XML配置型的日志引擎,正好最近有個(gè)程序需要日志系統(tǒng),為了整合方便,就決定研究一下。去logging.apache.org/log4net,來(lái)獲取他們...
c#中 log4net 日志使用
log4net的使用詳解
.NET Core 下使用 Log4Net 記錄日志
NET Core 下使用 Log4Net 記錄日志。添加log4net.config文件。using log4net;namespace ConsoleAppDemo{ class Program { static void M...
Log4Net五步走
Log4Net使用詳解(續(xù))
微信掃碼,在手機(jī)上查看選中內(nèi)容