ASP.NET Core使用Log4net實(shí)現(xiàn)日志記錄功能
一、安裝Log4net
1、使用Nuget包進(jìn)行安裝
在依賴項(xiàng)上面右鍵,選擇“管理NuGet程序包”,如下圖所示:
在瀏覽界面輸入log4net,然后點(diǎn)擊安裝,如下圖所示:
2、使用程序包管理器控制臺(tái)進(jìn)行安裝
使用Install-Package Log4net命令進(jìn)行安裝,如下圖所示:
二、配置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("測(cè)試日志"); 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 }); } } }
測(cè)試結(jié)果:
到此這篇關(guān)于ASP.NET Core使用Log4net實(shí)現(xiàn)日志記錄功能的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
asp.net下Repeater使用 AspNetPager分頁控件
AspNetPager針對(duì)ASP.NET分頁控件的不足,提出了與眾不同的解決asp.net中分頁問題的方案2010-03-03動(dòng)態(tài)生成table并實(shí)現(xiàn)分頁效果心得分享
動(dòng)態(tài)生成table并實(shí)現(xiàn)分頁在開發(fā)過程中時(shí)一個(gè)很好的應(yīng)用,接下來本文也要實(shí)現(xiàn)一個(gè)類似效果,感興趣的朋友可以參考下哈2013-04-04asp.net使用AJAX實(shí)現(xiàn)無刷新分頁
AJAX(Asynchronous JavaScript and XML)是一種進(jìn)行頁面局部異步刷新的技術(shù)。用AJAX向服務(wù)器發(fā)送請(qǐng)求和獲得服務(wù)器返回的數(shù)據(jù)并且更新到界面中,不是整個(gè)頁面刷新,而是在頁面中使用Js創(chuàng)建XMLHTTPRequest對(duì)象來向服務(wù)器發(fā)出請(qǐng)求以及獲得返回的數(shù)據(jù)。2014-11-11asp.net實(shí)現(xiàn)在非MVC中使用Razor模板引擎的方法
這篇文章主要介紹了asp.net實(shí)現(xiàn)在非MVC中使用Razor模板引擎的方法,較為詳細(xì)的分析了Razor模板引擎的使用技巧,需要的朋友可以參考下2015-06-06Asp.Net二級(jí)域名共享Forms身份驗(yàn)證、下載站/圖片站的授權(quán)訪問控制
我們平時(shí)一般在做圖片或者文件下載權(quán)限控制的時(shí)候基本都是控制到下載頁面的,當(dāng)你的下載地址暴露后,瀏覽者就直接可以通過文件地址進(jìn)行下載了,這時(shí)候也就出現(xiàn)了我們常說的盜鏈2012-02-02詳解.NET中使用Redis數(shù)據(jù)庫(kù)
Redis是一個(gè)用的比較廣泛的Key/Value的內(nèi)存數(shù)據(jù)庫(kù),這篇文章主要介紹了詳解.NET中使用Redis數(shù)據(jù)庫(kù),有興趣的可以了解一下。2016-12-12asp.net 身份驗(yàn)證(分目錄驗(yàn)證篇)
在上一篇博文《asp.net中的身份驗(yàn)證(最簡(jiǎn)單篇)》中的身份驗(yàn)證雖然很簡(jiǎn)單,但是有一個(gè)缺點(diǎn),就是訪問整個(gè)網(wǎng)站都必須要經(jīng)過身份驗(yàn)證,而事實(shí)上,很多網(wǎng)站都不會(huì)這么要求的。2009-05-05