溫馨提示×

溫馨提示×

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

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

如何在JWT中配置Log4net

發(fā)布時間:2021-05-23 12:24:42 來源:億速云 閱讀:214 作者:Leah 欄目:開發(fā)技術(shù)

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

Log4net的優(yōu)點

log4net是.Net下一個非常優(yōu)秀的開源日志記錄組件。log4net記錄日志的功能非常強大。它可以將日志分不同的等級,以不同的格式,輸出到不同的媒介。程序運行過程中就能生成并輸出日志信息而無需人工干預(yù),可供開發(fā)人員盡快找到應(yīng)用程序中的Bug。另外,日志信息可以輸出到不同的地方。

Log4net的結(jié)構(gòu)

log4net 有四種主要的組件,分別是Logger(記錄器), Repository(庫), Appender(附著器)以及Layout(布局)

重點---網(wǎng)上教程項目中添加log4日志流程如下

1.項目中都會有一個工具類庫,然后添加對log4net.dll的引用,再該類庫下封裝一個Log4Help.cs幫助類

2.在MVC,API項目中再次添加對log4net.dll的引用,在根目錄的Global.asax.cs中的Application_Start方法中添加:

log4net.Config.XmlConfigurator.Configure();

3.添加Log4Net.config配置文件

講解錯誤請多理解:

第二部操作是可以忽略掉的,項目一直都是提倡封裝解耦,既然已經(jīng)將log4封裝到幫助類庫中,是為了其它BLL層和DAL層能夠使用,但是MVC和API層又再一次重復(fù)引用log4類庫,作用也只是為了讀取配置Log4Net.config配置文件,那么完全可以把配置文件讀取寫入到第一步中

[assembly: XmlConfigurator(ConfigFile = "Config/Log4Net.config", Watch = true)] //重點是這句話,讀取MVC或者APILog4Net.config配置文件
namespace JWT.Common
{
 public class Log4Help
 {
  private static readonly ILog loginfo = LogManager.GetLogger("loginfo");

  private static readonly ILog logerror = LogManager.GetLogger("logerror");

  /// <summary>
  /// 打印日志信息
  /// </summary>
  /// <param name="info"></param>
  public static void Info(string info)
  {
   loginfo.Info(info);
  }

  /// <summary>
  /// 錯誤日志信息
  /// </summary>
  /// <param name="info"></param>
  /// <param name="ex"></param>
  public static void Error(string info, Exception ex)
  {
   logerror.Error(info, ex);
  }
 }
}

Log4Net.config配置文件,我是放在MVC這個文件目錄下

如何在JWT中配置Log4net

如果去掉Config文件夾目錄,直接將Log4Net.config放在項目根目錄,讀取路徑配置如下

[assembly: XmlConfigurator(ConfigFile = "Log4Net.config", Watch = true)]

個人都是將數(shù)據(jù)庫鏈接字符串database.config和在線配置appSettings單獨用兩個文件拆分維護,全放在web.config,參數(shù)配置和鏈接字符串太多,容易眼花也不太好找

如何在JWT中配置Log4net

Log4net配置

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 <configSections>
 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
 </configSections>
 <log4net>
 //logerror這個名字是在幫助類中使用的
 <logger name="logerror">
  <level value="ALL" />
  <appender-ref ref="ErrorAppender" /> //ErrorAppender如下1.1
 </logger>
 <logger name="loginfo">
  <level value="ALL" />
  <appender-ref ref="InfoAppender" />
 </logger>
 
 //對應(yīng)1.1名字必須一樣
 <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
  //File用于保存路徑 
  <param name="File" value="Log\\LogError\\" />
  <param name="AppendToFile" value="true" />
  <param name="MaxSizeRollBackups" value="100" />
  <param name="MaxFileSize" value="10240" />
  <param name="StaticLogFileName" value="false" />
  <param name="DatePattern" value="yyyyMMdd'.txt'" />
  <param name="RollingStyle" value="Date" />
  <layout type="log4net.Layout.PatternLayout">
  <param name="ConversionPattern" value="%d [%t] [%-5level] : %message %newline" />
  </layout>
 </appender>

 <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
  <param name="File" value="Log\\LogInfo\\" />
  <param name="AppendToFile" value="true" />
  <param name="MaxFileSize" value="10240" />
  <param name="MaxSizeRollBackups" value="100" />
  <param name="StaticLogFileName" value="false" />
  <param name="DatePattern" value="yyyyMMdd'.txt'" />
  <param name="RollingStyle" value="Date" />
  <layout type="log4net.Layout.PatternLayout">
  <param name="ConversionPattern" value="%d [%t] [%-5level] : %message %newline" />
  </layout>
 </appender>
 </log4net>
</configuration>
 public class HomeController : Controller
 {
  public ActionResult Index()
  {
   Log4Help.Info("1111");
   Log4Help.Error("12345",null);
   return View();
  }

 }

上述內(nèi)容就是如何在JWT中配置Log4net,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI