溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

log4net如何在.net中使用

發(fā)布時(shí)間:2021-03-30 16:40:32 來源:億速云 閱讀:163 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了log4net如何在.net中使用,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

首先是要添加引用: 

log4net如何在.net中使用

log4net如何在.net中使用

安裝后可以看到項(xiàng)目中多了log4net的引用: 

log4net如何在.net中使用

添加應(yīng)用程序配置文件app.config,配置log4net

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <configSections>
 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
 </configSections>
 <log4net>
 <!-- Define some output appenders -->
 <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
  <!--日志路徑-->
  <file value="test.txt"/>
  <!--是否向文件中追加日志-->
  <appendToFile value="true"/>
  <!--日志保留天數(shù)-->
  <maxSizeRollBackups value="10"/>
  <!--每個(gè)文件的大小。只在混合方式與文件大小方式下使用。超出大小后在所有文件名后自動(dòng)增加正整數(shù)重新命名,數(shù)字最大的最早寫入??捎玫膯挝?KB|MB|GB。不要使用小數(shù),否則會(huì)一直寫入當(dāng)前日志-->
  <maximumFileSize value="1024KB"/>
  <!--按照何種方式產(chǎn)生多個(gè)日志文件(日期[Date],文件大小[Size],混合[Composite])-->
  <rollingStyle value="Size"/>
  <!--否只寫到一個(gè)文件中-->
  <staticLogFileName value="true"/>
  <layout type="log4net.Layout.PatternLayout">
  <!--記錄時(shí)間:%date 線程ID:[%thread] 日志級(jí)別:%-5level 記錄類:%logger  操作者ID:%property{Operator} 操作類型:%property{Action}%n    當(dāng)前機(jī)器名:%property%n當(dāng)前機(jī)器名及登錄用戶:%username %n    記錄位置:%location%n 消息描述:%property{Message}%n     異常:%exception%n 消息:%message%newline%n%n-->
  <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/>
  </layout>
 </appender>
 <root>
  <level value="DEBUG"/>
  <appender-ref ref="RollingLogFileAppender"/>
 </root>
 </log4net>
</configuration>

在Program.cs中添加代碼:

static void Main(string[] args)
{
 log4net.Config.XmlConfigurator.Configure();
 //創(chuàng)建日志記錄組件實(shí)例
 ILog log = log4net.LogManager.GetLogger(typeof(Program));
 //記錄錯(cuò)誤日志
 log.Error("發(fā)生了錯(cuò)誤:", new Exception("log4net的測(cè)試錯(cuò)誤信息"));
 //記錄致命的錯(cuò)誤
 log.Fatal("發(fā)生了致命的錯(cuò)誤:", new Exception("log4net測(cè)試致命信息"));
 //記錄一般信息
 log.Info("log4net的一般信息");
 //記錄調(diào)試信息
 log.Debug("log4net的調(diào)試信息");
 //記錄警告信息
 log.Warn("log4net警告信息");
 Console.WriteLine("ok");
 Console.ReadKey();
}

運(yùn)行程序

log4net如何在.net中使用

這里是控制臺(tái)應(yīng)用程序 ,如果是Web應(yīng)用程序,可以在Global.asax.cs中Application_Start方法中調(diào)用log4net.Config.XmlConfigurator.Configure();   在Global.asax.cs中定義一個(gè)變量,并在Application_Error中獲取異常并記錄:

public class Global : System.Web.HttpApplication
{
 private static ILog log = LogManager.GetLogger(typeof(Global));

 protected void Application_Start(object sender, EventArgs e)
 {
  log4net.Config.XmlConfigurator.Configure();
 }

 protected void Session_Start(object sender, EventArgs e)
 {

 }

 protected void Application_BeginRequest(object sender, EventArgs e)
 {

 }

 protected void Application_AuthenticateRequest(object sender, EventArgs e)
 {

 }

 protected void Application_Error(object sender, EventArgs e)
 {
  log.Error("發(fā)生了異常",Server.GetLastError());
 }

 protected void Session_End(object sender, EventArgs e)
 {

 }

 protected void Application_End(object sender, EventArgs e)
 {

 }
}

上述內(nèi)容就是log4net如何在.net中使用,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI