zoukankan      html  css  js  c++  java
  • netcore log4相关

    配置:

    1:NuGet程序包 - 搜索log4net - 安装

    2:配置代码

    Startup文件

     #region log4
            public static ILoggerRepository repository { get; set; }
            #endregion

            public Startup(IConfiguration configuration)
            {
                Configuration = configuration;

                #region log4配置
                repository = log4net.LogManager.CreateRepository("NETCoreRepository");
                log4net.Config.XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
                #endregion
            }

    3:增加配置文件 log4net.config

    <?xml version="1.0" encoding="utf-8" ?>
     <configuration>
       <!-- This section contains the log4net configuration settings -->
       <log4net>
         <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
           <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
         </appender>
     
         <appender name="FileAppender" type="log4net.Appender.FileAppender">
         <file value="log-file.log" />
         <appendToFile value="true" />
         <layout type="log4net.Layout.PatternLayout">
           <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
         </layout>
       </appender>

       <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
         <file value="D:log4/" />   //存储路径
         <appendToFile value="true" />
         <rollingStyle value="Composite" />
         <staticLogFileName value="false" />
         <datePattern value="yyyyMMdd'.log'" />
         <maxSizeRollBackups value="10" />
         <maximumFileSize value="1MB" />
         <layout type="log4net.Layout.PatternLayout">
           <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
         </layout>
       </appender>

       <!-- Setup the root category, add the appenders and set the default level -->
       <root>
         <level value="ALL" />
         <appender-ref ref="ConsoleAppender" />
         <appender-ref ref="FileAppender" />
           <appender-ref ref="RollingLogFileAppender" />
         </root>
     
       </log4net>
     </configuration>

    4:编写代码

    (1):

    public class Log4Controller : Controller
        {
            private ILog log;
            public Log4Controller(IHostingEnvironment hostingEnv)
            {
                this.log = LogManager.GetLogger(Startup.repository.Name, typeof(Log4Controller));
            }
            // GET: /<controller>/
            public IActionResult Index()
            {
                log.Error("测试日志");
                return Content("log.Error ok");
            }
        }

     5:日志级别

    trace: 是追踪,就是程序推进以下,你就可以写个trace输出,所以trace应该会特别多,不过没关系,我们可以设置最低日志级别不让他输出。

    debug: 调试么,我一般就只用这个作为最低级别,trace压根不用。是在没办法就用eclipse或者idea的debug功能就好了么。

    info: 输出一下你感兴趣的或者重要的信息,这个用的最多了。

    warn: 有些信息不是错误信息,但是也要给程序员的一些提示,类似于eclipse中代码的验证不是有error 和warn(不算错误但是也请注意,比如以下depressed的方法)。

    error: 错误信息。用的也比较多。

    fatal: 级别比较高了。重大错误,这种级别你可以直接停止程序了,是不应该出现的错误么!不用那么紧张,其实就是一个程度的问题。
     

  • 相关阅读:
    view 与layer
    xcode中create groups 和 create folder reference 的区别
    iOS 9 学习系列:UIStack View (转载)
    使用JQuery插件,排序Gridview的某个字段
    Fixed GridView Header
    在TextBox里面仅仅允许数字,按Enter键进入下一个TextBox
    实现AJAX局部刷新以及PageMethod方法的使用
    用户控件
    JSON的使用
    ASP.NET页面生命周期
  • 原文地址:https://www.cnblogs.com/mrray/p/10767539.html
Copyright © 2011-2022 走看看