NetCore 使用Log4Net(两种方式)
2021-02-02 14:17
标签:manager 构造 Once pen 方法 create 表示 mfile 反向代理 首先去Nuget中安装Log4Net包 安装:log4net 安装:Microsoft.Extensions.Logging.Console 安装:Microsoft.Extensions.Logging.Log4Net.AspNetCore Program.cs文件 控制器中使用 log4net.config 配置文件 注意:这个配置文件的最外层用 Startup文件 控制器中使用 log4net.config配置文件:注意,这个配置文件的最外层用 NetCore 使用Log4Net(两种方式) 标签:manager 构造 Once pen 方法 create 表示 mfile 反向代理 原文地址:https://www.cnblogs.com/kevin860/p/13170107.html方式一
using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Logging;
namespace NetCoreApp
{
public class Program
{
public static void Main(string[] args)
{
CreateWebHostBuilder(args).Build().Run();//CreateWebHostBuilder启动了Kestrel服务器,这个服务器负责监听--转发--响应客户端请求(这样就不需要IIS来负责监听,转发,响应客户端请求了,IIS就只做反向代理就行了)
}
public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.ConfigureLogging((context, loggingbuilder) =>
{
//该方法需要引入Microsoft.Extensions.Logging名称空间
loggingbuilder.AddFilter("System", LogLevel.Warning); //过滤掉系统默认的一些日志
loggingbuilder.AddFilter("Microsoft", LogLevel.Warning);//过滤掉系统默认的一些日志
//添加Log4Net
//var path = Directory.GetCurrentDirectory() + "\\log4net.config";
//不带参数:表示log4net.config的配置文件就在应用程序根目录下,也可以指定配置文件的路径
loggingbuilder.AddLog4Net();
})
.UseStartup
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Logging;
namespace NetCoreApp.Controllers
{
public class HomeController : Controller
{
//ILoggerFactory和ILogger都是系统内置的接口,它们两个都可以写日志,随便你用哪个都行
public ILoggerFactory _Factory = null;
public ILogger
"1.0" encoding="utf-8"?>
方式二
public class Startup
{
//为StartUp.cs添加属性
public static ILoggerRepository repository { get; set; }
public IConfiguration Configuration { get; } //构造函数注入:Configuration用于读取配置文件的
public Startup(IConfiguration configuration)
{
Configuration = configuration;
repository = LogManager.CreateRepository("NetCoreApp"); //我的项目名称叫NetCoreApp
//指定配置文件
XmlConfigurator.Configure(repository, new FileInfo("log4net.config"));
}
}
using log4net;
using Microsoft.AspNetCore.Mvc;
namespace NetCoreApp.Controllers
{
public class HomeController : Controller
{
private ILog log;
public HomeController()
{
this.log = LogManager.GetLogger(Startup.repository.Name, typeof(HomeController));
}
public IActionResult Index()
{
log.Error("哈哈,出现错误啦");
return Content("OK");
}
}
}
"1.0" encoding="utf-8"?>
上一篇:js原型及原型链
文章标题:NetCore 使用Log4Net(两种方式)
文章链接:http://soscw.com/index.php/essay/50007.html