zoukankan      html  css  js  c++  java
  • C# 日志系统 log4net 配置及使用

    1、引用Dll

    版本是:1.2.10.0,下载Dll

    2、Web.config文件配置

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <configSections>
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
      </configSections>
      <!--log4net配置-->
      <log4net>
        <root>
          <!--控制级别,由低到高: ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF
              比如定义级别为INFO,则INFO级别向下的级别,比如DEBUG日志将不会被记录
              如果没有定义LEVEL的值,则缺省为DEBUG-->
          <level value="ERROR"/>
          <appender-ref ref="RollingFileAppender"/>
        </root>
        <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
          <!--日志文件地址及名称(名称为日期,保证一天一个文件)-->
          <param name="File" type="log4net.Util.PatternString" value="logs\%date{yyyyMMdd}.log.txt" />
          <!--多线程时采用最小锁定-->
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
          <!--是否追加到文件,默认为true,通常无需设置-->
          <appendToFile value="true"/>
          <!--这种情况下MaxSizeRollBackups和maximumFileSize的节点设置才有意义-->
          <RollingStyle value="Size"/>
          <!--每天记录的日志文件个数,与maximumFileSize配合使用-->
          <MaxSizeRollBackups value="10"/>
          <!--每个日志文件的最大大小,可用的单位:KB|MB|GB,不要使用小数,否则会一直写入当前日志-->
          <maximumFileSize value="1MB"/>
          <!--日志格式-->
          <layout type="log4net.Layout.PatternLayout">
            <Header value="&#13;&#10;----------------------header--------------------------&#13;&#10;" />
            <!--conversionPattern:
                %m(message):输出的日志消息;
                %n(newline):换行;
                %d(datetime):输出当前语句运行的时刻;
                %r(runtime):输出程序从运行到执行到当前语句时消耗的毫秒数;
                %t(threadid):当前语句所在的线程ID ;
                %p(priority): 日志的当前日志级别;
                %c(class):当前日志对象的名称;
                %L:输出语句所在的行号;
                %F:输出语句所在的文件名; 
                %-10:表示最小长度为10,如果不够,则用空格填充;-->
            <conversionPattern value="%d [%t] %-5p %c [%x] - %m%n"/>
          </layout>
        </appender>
      </log4net>
    </configuration>

    3、Global.asax中Application_Start设置

    //注册log4net(读取Log4Net配置信息)
    log4net.Config.XmlConfigurator.Configure();

    4、调用

    public class HomeController : BaseController
    {
            private log4net.ILog logger = log4net.LogManager.GetLogger(typeof(HomeController));
    
            /// <summary>
            /// 网站主页
            /// </summary>
            /// <returns></returns>
            public ActionResult Index()
            {
                //日志
                logger.Error("测试错误!" );
                return View();
            }
    }
  • 相关阅读:
    谷歌浏览器内核自带长截图
    js文件导入swiper方法及分页器不显示原因
    Error: Cannot find module 'gifsicle'问题解决
    新型横向移动工具原理分析、代码分析、优缺点以及检测方案
    武汉解封一周年
    JAVA线程池ThreadPoolExecutor的分析和使用(新手踩坑和推荐方案)
    JAVA常量池
    Java String的intern()注意事项(分JDK1.6及JDK1.7)
    JAVA的类加载过程
    react hooks方法获取不到最新的state解决方法
  • 原文地址:https://www.cnblogs.com/cang12138/p/6651796.html
Copyright © 2011-2022 走看看