一、安装Log4net

1、使用Nuget包进行安装

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

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

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

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

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

配置文件如下:

 <?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:\study\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>

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

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

四、在控制器里面注入log4net

 using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Threading.Tasks;
using log4net;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Mvc;
using NetCoreLogDemo.Models; namespace NetCoreLogDemo.Controllers
{
public class HomeController : Controller
{
private ILog log; public HomeController(IHostingEnvironment hostingEnv)
{
this.log = LogManager.GetLogger(Startup.repository.Name, typeof(HomeController));
} public IActionResult Index()
{
log.Error("测试日志");
return View();
} public IActionResult About()
{
ViewData["Message"] = "Your application description page."; return View();
} public IActionResult Contact()
{
ViewData["Message"] = "Your contact page."; return View();
} public IActionResult Error()
{
return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });
}
}
}

测试结果:

最新文章

  1. 创建maven项目(cmd 命令)
  2. Xcode8 更新后的坑及常见错误
  3. DrawingContext.Pop Method
  4. [CareerCup] 17.14 Unconcatenate Words 断词
  5. 简明python教程 --C++程序员的视角(一):数值类型、字符串、运算符和控制流
  6. zigbee学习之路(五):定时器1(查询方式)
  7. iOS OC开发代码规范
  8. Linux优化,history增加详细历史记录
  9. 你可能不知道的一些JavaScript 奇技淫巧
  10. poj 2533 Longest Ordered Subsequence(线性dp)
  11. crontab表达式执行时间计算,crontab在线测试
  12. Vue 学习笔记 — 组件初始化
  13. spring cloud 工程构建
  14. mybatis动态sql之foreach标签
  15. vue -webpack.dev.config.js模拟后台数据接口
  16. [20180503]珅与分隔符.txt
  17. 百度编辑器 Ueditor 如何增加模板 ?
  18. ueditor自定义额外参数
  19. 批量分割视频opencv
  20. java成神之——MySQL Connector/J 的基本使用

热门文章

  1. scrapy定时执行抓取任务
  2. Serizlizable
  3. 机器学习算法实现解析——word2vec源代码解析
  4. tmux使用及配置
  5. 菜鸟调错(二)——EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常
  6. windows下通过Chocolatey安装或升级node.js
  7. Vue.js使用-组件(下篇)
  8. linux命令(46):批量更改文件后缀,文件名
  9. 使用 &quot;java -jar&quot;命令启动jar包时报不支持的jdk版本异常
  10. 旧的flex