• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

JWT+Log4net配置与使用详解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Log4net的优点

log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。程序运行过程中就能生成并输出日志信息而无需人工干预,可供开发人员尽快找到应用程序中的Bug。另外,日志信息可以输出到不同的地方。

Log4net的结构

log4net 有四种主要的组件,分别是Logger(记录器), Repository(库), Appender(附着器)以及Layout(布局)

重点---网上教程项目中添加log4日志流程如下

1.项目中都会有一个工具类库,然后添加对log4net.dll的引用,再该类库下封装一个Log4Help.cs帮助类

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

log4net.Config.XmlConfigurator.Configure();

3.添加Log4Net.config配置文件

讲解错误请多理解:

第二部操作是可以忽略掉的,项目一直都是提倡封装解耦,既然已经将log4封装到帮助类库中,是为了其它BLL层和DAL层能够使用,但是MVC和API层又再一次重复引用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这个文件目录下

如果去掉Config文件夹目录,直接将Log4Net.config放在项目根目录,读取路径配置如下

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

个人都是将数据库链接字符串database.config和在线配置appSettings单独用两个文件拆分维护,全放在web.config,参数配置和链接字符串太多,容易眼花也不太好找

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>
 
 //对应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();
  }

 }

至此,所有准备工作以及配置工作全部完成,运行应用程序,然后打开项目资源管理文件,就能看见log文件夹

源码下载地址:https://github.com/yaols/JWT.MvcDemo

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持极客世界。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
.NET Core 2.0如何生成图片验证码完整实例发布时间:2022-02-05
下一篇:
c# .Net Core静态文件服务器的新人入门教程发布时间:2022-02-05
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap