LogNet4

ASP.Net MVC 项目中添加LogNet4

1,创建ASP.NET MVC项目

2,NuGet或者直接下载log4net.dll 并安装

3 在配置文件 web.config 加入 如下代码

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>

  

4 在配置文件 web.config 加入lognet4的配置文件

<log4net debug="true">
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="ERROR"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>
      <!--日志文件名开头-->
      <param name="File" value="Logs\Error\"/>
      <!--是否追加到文件-->
      <param name="AppendToFile" value="true"/>
      <!--记录日志写入文件时,不锁定文本文件-->
      <lockingModel type="log4net.Appender.FileAppender+ExclusiveLock"/>
      <!--Unicode编码-->
      <Encoding value="UTF-8"/>
      <!--最多产生的日志文件数,value="-1"为不限文件数-->
      <param name="MaxSizeRollBackups" value="10"/>
      <!--是否只写到一个文件中-->
      <param name="StaticLogFileName" value="false"/>
      <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
      <param name="RollingStyle" value="Date"/>
      <!--按日期产生文件夹,文件名[在日期方式与混合方式下使用]-->
      <param name="DatePattern" value="yyyy-MM-dd".log""/>
      <!--每个文件的大小。只在混合方式与文件大小方式下使用,超出大小的在文件名后自动增加1重新命名-->
      <param name="maximumFileSize" value="5000KB" />
      <!--记录的格式。-->
     <layout type="log4net.Layout.PatternLayout">
        <!--<header value="[BEGIN LOGGING AT %date]%newline" type="log4net.Util.PatternString" />
        <footer value="[END LOGGING AT %date]%newline%newline" type="log4net.Util.PatternString" />-->
        <ConversionPattern value="%d [%t] %-5p %c : %m%n" />
      </layout>
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <filter type="log4net.Filter.LevelMatchFilter">
        <levelToMatch value="INFO"/>
      </filter>
      <filter type="log4net.Filter.DenyAllFilter"/>
      <!--日志文件名开头-->
      <param name="File" value="Logs\Info\"/>
      <!--是否追加到文件-->
      <param name="AppendToFile" value="true"/>
      <!--记录日志写入文件时,不锁定文本文件-->
      <lockingModel type="log4net.Appender.FileAppender+ExclusiveLock"/>
      <!--Unicode编码-->
      <Encoding value="UTF-8"/>
      <!--最多产生的日志文件数,value="-1"为不限文件数-->
      <param name="MaxSizeRollBackups" value="10"/>
      <!--是否只写到一个文件中-->
      <param name="StaticLogFileName" value="false"/>
      <!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])-->
      <param name="RollingStyle" value="Date"/>
      <!--按日期产生文件夹,文件名[在日期方式与混合方式下使用]-->
      <param name="DatePattern" value="yyyy-MM-dd".log""/>
      <!--每个文件的大小。只在混合方式与文件大小方式下使用,超出大小的在文件名后自动增加1重新命名-->
      <param name="maximumFileSize" value="5000KB" />
      <!--记录的格式。-->
      <layout type="log4net.Layout.PatternLayout">
        <!--<header value="[BEGIN LOGGING AT %date]%newline" type="log4net.Util.PatternString" />
        <footer value="[END LOGGING AT %date]%newline%newline" type="log4net.Util.PatternString" />-->
        <ConversionPattern value="%d [%t] %-5p %c :%m%n" />
      </layout>
    </appender>
    <root>
      <level value="All"/>
      <appender-ref ref="ErrorAppender"/>
      <appender-ref ref="InfoAppender"/>
    </root>
  </log4net>

  

5 在Properties下找到AssemblyInfo.cs 加入代码如下

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)] 

  

7在Global.asax 加入代码如下:

string l4net = Server.MapPath("~/Web.config");
         log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(l4net));

  

 

 8 添加辅助类(引入命名空间 log4net;log4net.Config;System.IO

 public static class AppLog
    {
        private static ILog log;

        static AppLog()
        {
            XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile));
            log = LogManager.GetLogger(typeof(AppLog));
        }

        public static void Debug(object message)
        {
            log.Debug(message);
        }

        public static void DebugFormatted(string format, params object[] args)
        {
            log.DebugFormat(format, args);
        }

        public static void Info(object message)
        {
            log.Info(message);
        }

        public static void InfoFormatted(string format, params object[] args)
        {
            log.InfoFormat(format, args);
        }

        public static void Warn(object message)
        {
            log.Warn(message);
        }

        public static void Warn(object message, Exception exception)
        {
            log.Warn(message, exception);
        }

        public static void WarnFormatted(string format, params object[] args)
        {
            log.WarnFormat(format, args);
        }

        public static void Error(object message)
        {
            log.Error(message);
        }

        public static void Error(object message, Exception exception)
        {
            log.Error(message, exception);
        }

        public static void ErrorFormatted(string format, params object[] args)
        {
            log.ErrorFormat(format, args);
        }

        public static void Fatal(object message)
        {
            log.Fatal(message);
        }

        public static void Fatal(object message, Exception exception)
        {
            log.Fatal(message, exception);
        }

        public static void FatalFormatted(string format, params object[] args)
        {
            log.FatalFormat(format, args);
        }
    }

  

 

 9 使用

 

10 效果

实例链接:http://download.csdn.net/download/w76161501/10046892

转载于:https://www.cnblogs.com/wangboke/p/7762032.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值