ASP.NET MVC中使用log4net的实现示例

(编辑:jimmy 日期: 2024/10/15 浏览:2)

今天自己要弄一个日志记录功能,以前也弄过 但是都忘了,今天又弄了一下 花了几十分钟,在此记录一下

第一步:添加log4net.dll

第二步:配置  示例如下: 我是直接配置在了Web.config下

<"1.0" encoding="utf-8""log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
 </configSections>
 <log4net>
  <logger name="Student">
   <level value="ALL" />
   <appender-ref ref="rollingFile" />
  </logger>
  <appender name="rollingFile" type="log4net.Appender.RollingFileAppender,log4net">
   <File value="log/" />
   <DatePattern value="yyyy-MM-dd&quot;.txt&quot;" />
   <StaticLogFileName value="false" />
   <maxSizeRollBackups value="-1" />
   <RollingStyle value="Date" />
   <AppendToFile value="false" />
   <MaximumFileSize value="1024MB" />
   <layout type="log4net.Layout.PatternLayout,log4net">
    <ConversionPattern value="%-38m %-7p %-20d %n" />
   </layout>
  </appender>
 </log4net>
 
<!--下面的不是!!!-->
 <appSettings>
  <add key="webpages:Version" value="3.0.0.0" />
  <add key="webpages:Enabled" value="false" />
  <add key="ClientValidationEnabled" value="true" />
  <add key="UnobtrusiveJavaScriptEnabled" value="true" />
 </appSettings>
 <system.web>
  <compilation debug="true" targetFramework="4.7.2" />
  <httpRuntime targetFramework="4.7.2" />
 </system.web>
 
 
</configuration>

第三步:在Global.asax.cs文件下添加     log4net.Config.XmlConfigurator.Configure(); 如下:

  public class MvcApplication : System.Web.HttpApplication
  {
    protected void Application_Start()
    {
      AreaRegistration.RegisterAllAreas();
      FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
      RouteConfig.RegisterRoutes(RouteTable.Routes);
      BundleConfig.RegisterBundles(BundleTable.Bundles);
      log4net.Config.XmlConfigurator.Configure();
    }
  }

第四步:添加Log帮助类 然后使用即可  这里需要注意的是名字对应 看我的下面代码中的注释

  public class LogHelper
  {
    //Student是你的配置文件 <logger name="Student"> 的name的值
    private static log4net.ILog log = log4net.LogManager.GetLogger("Student");
 
    public static void Debug(object message, Exception e)
    {
      log.Debug(message, e);
    }
 
    public static void Debug(object message)
    {
      log.Debug(message);
    }
 
    public static void Info(object message)
    {
      log.Info(message);
    }
 
    public static void Warn(object message)
    {
      log.Warn(message);
    }
 
    public static void Error(object message)
    {
      log.Error(message);
    }
 
    public static void Error(object message, Exception e)
    {
      log.Error(message, e);
    }
 
    public static void Log(object message)
    {
      log.Info(message);
    }
  }

配置文件的内容比较简略 详细的自己百度看看其他比较详细的即可

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

一句话新闻

一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?