• netcore 调用log4net


    public class Logger
        {
            private static ILog logger;
           static Logger()
            {
                if (logger == null)
                {
                    var repository = LogManager.CreateRepository("NETCoreRepository");
                    //log4net从log4net.config文件中读取配置信息
                    XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
                    logger = LogManager.GetLogger(repository.Name, "Logger");
                }
            }
            public static void Info(string message, Exception exception = null)
            {
                if (exception == null)
                    logger.Info(message);
                else
                    logger.Info(message, exception);
            }
            public static void Warn(string message, Exception exception = null)
            {
                if (exception == null)
                    logger.Warn(message);
                else
                    logger.Warn(message, exception);
            }
            public static void Error(string message, Exception exception = null)
            {
                if (exception == null)
                    logger.Error(message);
                else
                    logger.Error(message, exception);
            }
        }

    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="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
          <file value="Log/" />
          <appendToFile value="true" />
          <rollingStyle value="Composite" />
          <staticLogFileName value="false" />
          <datePattern value="yyyyMMdd'.log'" />
          <maxSizeRollBackups value="10" />
          <maximumFileSize value="50MB" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date  [%thread]  %-5level  %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="RollingLogFileAppender" />
        </root>
      </log4net>
    </configuration>

    然后,在该调用的地方,直接调用

    [Route("api/[controller]/[action]")]
        public class LogController:Controller
        {
            [HttpGet]
            public IActionResult Get(string x)
            {
                Logger.Info("info:" + x);
                Logger.Warn("warn:" + x);
                return Ok(x);
            }
        }

    即可在console和file中显示

    log4net查看地址:http://logging.apache.org/log4net/release/manual/configuration.html

  • 相关阅读:
    fedora安装后的配置
    linux下的Shell编程(7)使用-x和-n调试shell程序
    linux下的Shell编程(8)自定义函数
    linux下的Shell编程(6)case和select
    linux下的Shell编程(5)循环
    linux下的Shell编程(4)特殊的变量和占位符
    linux下的Shell编程(3)shell里的流程控制
    Linux下的Shell编程(2)环境变量和局部变量
    Linux下的Shell编程(1)最简单的例子
    Docker学习笔记
  • 原文地址:https://www.cnblogs.com/huanyun/p/11358415.html
Copyright © 2020-2023  润新知