.NET CORE搭建Log日志

原文出自https://www.cnblogs.com/AprilBlank/p/11282345.html 非常感谢。

1.工具->NuGet包管理器->管理解决方案的NuGet程序包 找到log4net下载

2.在Startup.cs中配置注入

 public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
            repository = LogManager.CreateRepository("AprilLog");

            XmlConfigurator.Configure(repository, new FileInfo("Config/log4net.config"));//配置文件路径可以自定义
            BasicConfigurator.Configure(repository);
        }
        //log4net日志
        public static ILoggerRepository repository { get; set; }
        public IConfiguration Configuration { get; }
Startup

3.在工程目录下新建一个config文件

 代码如下

<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <!-- To customize the asp.net core module uncomment and edit the following section. 
  For more info see https://go.microsoft.com/fwlink/?linkid=838655 -->
  <!--
  <system.webServer>
    <handlers>
      <remove name="aspNetCore"/>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/>
    </handlers>
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" />
  </system.webServer>
  -->
<!-- This section contains the log4net configuration settings -->
  <log4net debug="false">
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <lockingModel type="log4net.Appender.FileAppender+MinimalLock" /><!--很关键的一句,让日志文件不被占用-->
      <file value="logs/" /> <!-- 日志生成文件路径 -->
      <appendToFile value="true" /> 
      <rollingStyle value="Composite" />
      <staticLogFileName value="false" />
      <datePattern value="yyyyMMdd'.log'" /> <!-- 日志文件名称格式 -->
      <maxSizeRollBackups value="10" />
      <maximumFileSize value="10MB" /> <!-- 最大文件大小,达到后生成新文件 -->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" /> <!-- 生成日志格式 -->
      </layout>
    </appender>

    <!-- Setup the root category, add the appenders and set the default level -->
    <root>
      <level value="ALL" />  <!-- 日志等级 -->
      <appender-ref ref="RollingLogFileAppender" /> 
    </root>

  </log4net>
</configuration>
log4net.config

4.在需要使用的地方创建Log对象 从而使用Info方法记录。

private ILog log = LogManager.GetLogger(Startup.repository.Name, "标题");
log.Info(ex.Message, ex);
使用Log

5.会在工程项目中出现Log文件

亲测可用。

猜你喜欢

转载自www.cnblogs.com/cdjbolg/p/12162806.html