zoukankan      html  css  js  c++  java
  • 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="LogsError"/>
          <!--是否追加到文件-->
          <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="LogsInfo"/>
          <!--是否追加到文件-->
          <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

  • 相关阅读:
    常用类练习题(用字符串常用类判断输入的一段话是否为回文)
    面向对象综合练习题(动物乐园)
    多态练习题(通过UML建模语言来实现饲养员喂养动物)
    UML建模语言使用的概述
    多态练习题(员工使用不同的交通工具回家)
    多态练习题(宠物医院治疗小动物的问题 ,多态的应用:向上类型传递)
    接口练习题(书信接口)
    接口练习题(实现接口功能拓展的两种方法)
    Oracle rman 各种恢复
    Oracle rman 全备份的一个小例子
  • 原文地址:https://www.cnblogs.com/wangboke/p/7762032.html
Copyright © 2011-2022 走看看