zoukankan      html  css  js  c++  java
  • 在 .NET Core 中快速使用 log4net

    本文章向大家介绍在 .NET Core 中快速使用 log4net,主要包括在 .NET Core 中快速使用 log4net使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

    1.NET Core 控制台程序中使用

    第一步:添加引用

    Install-Package log4net

    第二步:将附件 LogHelper.cs 和 log4net.config 两个文件加入到项目中

    第三步:在Main中使用 LogHelper 类来记录日志

     public static void Main(string[] args)
            {
                LogHelper.Configure(); //使用前先配置
    
                LogHelper.Info("NETCorelog4net log");
                LogHelper.Info("test log");
                LogHelper.Error("error");
                LogHelper.Info("linezero");
                Console.ReadKey();
            }
    

    2. ASP.NET Core 中使用

    第一步:添加引用

    Install-Package log4net

    第二步:将附件 LogHelper.cs 和 log4net.config 两个文件加入到项目中

    第三步:在Startup 构造函数中初始化

        public class Startup
        {
            public Startup()
            {
                LogHelper.Configure(); //使用前先配置
            }
        }
    

    第三步:在HomeController 中使用 LogHelper 类来记录日志

            public IActionResult Index()
            {
                LogHelper.Info("index view");
                LogHelper.Error("Controller Error");
                return View();
            }
    

    附件

    日志类简单封装:LogHelper.cs

        using log4net;
        using log4net.Config;
        using log4net.Repository;
        using System.IO;
    
        public class LogHelper
        {
            private static ILoggerRepository repository { get; set; }
            private static ILog _log;
            private static ILog log {
                get
                {
                    if (_log == null)
                    {
                        Configure();
                    }
                    return _log;
                }
            }
    
            public static void Configure(string repositoryName = "NETCoreRepository", string configFile = "log4net.config")
            {
                repository = LogManager.CreateRepository(repositoryName);
                XmlConfigurator.Configure(repository, new FileInfo(configFile));
                _log = LogManager.GetLogger(repositoryName, "");
            }
    
            public static void Info(string msg)
            {
                log.Info(msg);
            }
    
            public static void Warn(string msg)
            {
                log.Warn(msg);
            }
    
            public static void Error(string msg)
            {
                log.Error(msg);
            }
        }
    

    log4net 配置文件: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="logfile/" />
          <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>
    
  • 相关阅读:
    hibernate经典配置与测试
    jquerry之隔行跳色
    Struts2之Ognl用法
    java模拟系统进程算法的小程序
    HDU 1506 Largest Rectangle in a Histogram【矩阵最大面积】
    POJ 3624 Charm Bracelet【01背包】
    HDU 1505 City Game【矩阵的最大面积】
    POJ 1837 Balance【DP】
    HDU 1059 Dividing【多重背包】
    POJ 2063 Investment【完全背包】
  • 原文地址:https://www.cnblogs.com/zhengyb/p/13859090.html
Copyright © 2011-2022 走看看