JWT+Log4net配置与使用详解
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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。
相关文章
- 这篇文章主要为大家详细介绍了C#控制台程序使用Log4net日志组件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2020-06-25
- 这篇文章主要介绍了ASP.NET Core使用JWT认证授权的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22
- 这篇文章主要给大家介绍了关于ASP.NET Core学习之使用JWT认证授权的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用ASP.NET Core具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2021-09-22
.net core webapi jwt 更为清爽的认证详解
这篇文章主要介绍了.net core webapi jwt 更为清爽的认证详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2021-09-22- 这篇文章主要介绍了JWT+Log4net配置与使用详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2021-09-22
- 这篇文章主要为大家详细介绍了.net下log4net使用方法,以控制台应用程序为例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
- 这篇文章主要给大家介绍了关于.NET core 3.0如何使用Jwt保护api的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用.NET core 3.0具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...2021-09-22
- 这篇文章主要介绍了ASP.NET MVC中使用log4net的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22
- 这篇文章主要给大家介绍了关于JWT + ASP.NET MVC时间戳防止重放攻击发的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22
- 这篇文章主要介绍了asp.net log4net的使用,需要的朋友可以参考下...2021-09-22
- 这篇文章主要介绍了如何利用go-zero在Go中快速实现JWT认证,本文分步骤通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧...2020-10-26
- JWT全称是json web token,它将用户信息加密到 token 里,服务器不保存任何用户信息,服务器通过使用保存的密钥验证 token 的正确性,只要正确即通过验证,这篇文章主要给大家介绍了关于SpringBoot整合JWT的相关资料,需要的朋友可以参考下...2021-06-29
- 这篇文章主要介绍了python-jwt用户认证食用教学的实现方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-01-19
- 这篇文章主要介绍了Django中的JWT身份验证的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-05-08
- 早上逛某乎的时候,遇到一位同学在问这个问题,很好奇jwt的存储位置。本文详细的介绍一下,感兴趣的可以了解一下...2021-06-27
asp.net core3.1cookie和jwt混合认证授权实现多种身份验证方案
身份验证是确定用户身份的过程。 授权是确定用户是否有权访问资源的过程。本文主要介绍了asp.net core3.1cookie和jwt混合认证授权实现多种身份验证方案,感兴趣的可以了解一下...2021-09-22- 这篇文章主要给大家介绍了关于.net core整合log4net的解决方案,文中通过图文介绍的非常详细,对大家学习或者使用.net core具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22
- 这篇文章主要为大家详细介绍了MVC使用Log4Net进行错误日志记录,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-22
- log4net是.net中常用的一个日志记录工具,下面这篇文章主要给大家介绍了关于.net简单使用Log4net的方法(多个日志配置文件),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧...2021-09-22
AntDesign Pro + .NET Core 实现基于JWT的登录认证功能
这篇文章主要介绍了AntDesign Pro + .NET Core 实现基于JWT的登录认证功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-06