侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

JWT+Log4net配置与使用详解

技术  /  管理员 发布于 7年前   181

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

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


  • 上一条:
    如何利用HttpClientFactory实现简单的熔断降级
    下一条:
    VS2012下QT creator登录对话框设计
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 2024.07.09日OpenAI将终止对中国等国家和地区API服务(0个评论)
    • 2024/6/9最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(0个评论)
    • 国外服务器实现api.openai.com反代nginx配置(0个评论)
    • 2024/4/28最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客