ASP.NET Core 2.0使用Log4net实现记录日志功能

一、安装Log4net

1、使用Nuget包进行安装

在依赖项上面右键,选择“管理NuGet程序包”,如下图所示:

在浏览界面输入log4net,然后点击安装,如下图所示:

2、使用程序包管理器控制台进行安装

使用Install-Package Log4net命令进行安装,如下图所示:

二、配置log4net使用的配置文件

配置文件如下:

 1 <?xml version="1.0" encoding="utf-8" ?>
 2  <configuration>
 3    <!-- This section contains the log4net configuration settings -->
 4    <log4net>
 5      <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
 6        <layout type="log4net.Layout.PatternLayout" value="%date [%thread] %-5level %logger - %message%newline" />
 7      </appender>
 8  
 9      <appender name="FileAppender" type="log4net.Appender.FileAppender">
10      <file value="log-file.log" />
11      <appendToFile value="true" />
12      <layout type="log4net.Layout.PatternLayout">
13        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
14      </layout>
15    </appender>
16 
17    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
18      <file value="D:\study\logfile/" />   //指定日志文件保存的目录
19      <appendToFile value="true" />
20      <rollingStyle value="Composite" />
21      <staticLogFileName value="false" />
22      <datePattern value="yyyyMMdd'.log'" />
23      <maxSizeRollBackups value="10" />
24      <maximumFileSize value="1MB" />
25      <layout type="log4net.Layout.PatternLayout">
26        <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
27      </layout>
28    </appender>
29 
30    <!-- Setup the root category, add the appenders and set the default level -->
31    <root>
32      <level value="ALL" />
33      <appender-ref ref="ConsoleAppender" />
34      <appender-ref ref="FileAppender" />
35        <appender-ref ref="RollingLogFileAppender" />
36      </root>
37  
38    </log4net>
39  </configuration>

 三、在Startup.cs类里面配置使用log4net

1 public static ILoggerRepository repository { get; set; }
2 public Startup(IConfiguration configuration)
3 {
4             Configuration = configuration;
5             repository = LogManager.CreateRepository("NETCoreRepository");
6             // 指定配置文件
7             XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
8 }

 四、在控制器里面注入log4net

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Diagnostics;
 4 using System.Linq;
 5 using System.Threading.Tasks;
 6 using log4net;
 7 using Microsoft.AspNetCore.Hosting;
 8 using Microsoft.AspNetCore.Mvc;
 9 using NetCoreLogDemo.Models;
10 
11 namespace NetCoreLogDemo.Controllers
12 {
13     public class HomeController : Controller
14     {
15         private ILog log;
16 
17         public HomeController(IHostingEnvironment hostingEnv)
18         {
19             this.log = LogManager.GetLogger(Startup.repository.Name, typeof(HomeController));
20         }
21 
22         public IActionResult Index()
23         {
24             log.Error("测试日志");
25             return View();
26         }
27 
28         public IActionResult About()
29         {
30             ViewData["Message"] = "Your application description page.";
31             
32             return View();
33         }
34 
35         public IActionResult Contact()
36         {
37             ViewData["Message"] = "Your contact page.";
38 
39             return View();
40         }
41 
42         public IActionResult Error()
43         {
44             return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
45         }
46     }
47 }

 测试结果:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值