關(guān)于.Net?6?添加NLog的方法
創(chuàng)建一個(gè).Net 6 Demo項(xiàng)目
引入NLog包
添加項(xiàng)目配置文件nlog.config
<?xml version="1.0" encoding="utf-8"?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xsi:schemaLocation="NLog NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" > <!-- the targets to write to --> <targets> <!--單個(gè)文件過(guò)大會(huì)導(dǎo)致寫(xiě)入效率下降,可配置單個(gè)文件的最大容量--> <target name="File" xsi:type="AsyncWrapper" queueLimit="5000" overflowAction="Discard"> <target xsi:type="File" fileName="${basedir}/logs/${shortdate}.log" layout="${date:yyyy-MM-dd HH\:mm\:ss} ${level:uppercase=true} ${event-context:item=Action} ${message} ${event-context:item=Amount} ${stacktrace}" archiveAboveSize="10240" archiveEvery="Day" /> </target> <!-- write logs to file --> <!--<target xsi:type="File" name="logfile" fileName="c:\temp\console-example.log" layout="${longdate}|${level}|${message} |${all-event-properties} ${exception:format=tostring}" />--> <!--<target xsi:type="Console" name="logconsole" layout="${longdate}|${level}|${message} |${all-event-properties} ${exception:format=tostring}" />--> </targets> <!-- rules to map from logger name to target --> <rules> <!--<logger name="*" levels="Debug,Info,Warn,Error" writeTo="File" />--> <logger name="*" minlevel="Debug" maxlevel="Error" writeTo="File" /> </rules> </nlog>
layout布局:
${longdate} 格式:2022-01-21 17:00:28.4860
后面的毫秒不是我想要的,可以自定義:date:yyyy-MM-dd HH\:mm\:ss
NLog等級(jí)
Trace:最常見(jiàn)的記錄信息,一般是普通輸出
Debug:同樣是記錄信息,出現(xiàn)的頻率比Trace少,一般是調(diào)試程序
Info:信息類(lèi)型的消息
Warn:警告消息
Error:錯(cuò)誤消息
自上而下,等級(jí)遞增
指定特定等級(jí):level="Warn"
指定多個(gè)等級(jí):levels="Debug,Info" 以逗號(hào)分隔
指定等級(jí)范圍:minlevel="Info" maxlevel="Error"
<rules> <!--<logger name="*" levels="Debug,Info,Warn,Error" writeTo="File" />--> <logger name="*" minlevel="Debug" maxlevel="Error" writeTo="File" /> </rules>
添加工具類(lèi) Logger
using NLog; namespace TestNet6.Utilities { public class Logger { NLog.Logger _logger { get; set; } private Logger(NLog.Logger logger) { _logger = logger; } public Logger(string name) : this(LogManager.GetLogger(name)) public static Logger Default { get; private set; } static Logger() Default = new Logger(LogManager.GetCurrentClassLogger()); #region Dedub public void Debug(string msg, params object[] args) _logger.Debug(msg, args); public void Debug(string msg, Exception e) _logger.Debug(e, msg); #endregion #region Info public void Info(string msg, params object[] args) _logger.Info(msg, args); public void Info(string msg, Exception e) _logger.Info(e, msg); #region Trace public void Trace(string msg, params object[] args) _logger.Trace(msg, args); public void Trace(string msg, Exception e) _logger.Trace(e, msg); #region Warn public void Warn(string msg, params object[] args) _logger.Warn(msg, args); public void Warn(string msg, Exception e) _logger.Warn(e, msg); #region Error public void Error(string msg, params object[] args) _logger.Error(msg, args); public void Error(string msg, Exception e) _logger.Error(e, msg); } }
添加測(cè)試Controller
using Microsoft.AspNetCore.Mvc; using TestNet6.Utilities; namespace TestNet6.Controllers { public class TestController : Controller { public ActionResult Index() { return View(); } public string Test() { Logger.Default.Info("", Request); return "Test String"; } } }
最后為了路由有效,還需要添加路由映射
var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddRazorPages(); var app = builder.Build(); // Configure the HTTP request pipeline. if (!app.Environment.IsDevelopment()) { app.UseExceptionHandler("/Error"); // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts. app.UseHsts(); } app.UseHttpsRedirection(); app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.MapRazorPages(); //添加路由映射 app.MapControllerRoute(name: "default", pattern: "{controller=Home}/{action=Index}/{id?}"); app.Run();
OK,運(yùn)行測(cè)試
到此這篇關(guān)于.Net 6 添加NLog的文章就介紹到這了,更多相關(guān).Net 6 添加NLog內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- .NET日志框架Nlog使用介紹
- .Net Core項(xiàng)目中NLog整合Exceptionless實(shí)例
- .Net Core 使用NLog記錄日志到文件和數(shù)據(jù)庫(kù)的操作方法
- Asp.Net Core用NLog記錄日志操作方法
- .Net項(xiàng)目中NLog的配置和使用實(shí)例詳解
- 詳解.Net core2.0日志組件Log4net、Nlog簡(jiǎn)單性能測(cè)試
- ASP.NET Core與NLog集成的完整步驟
- ASP.NET Core開(kāi)發(fā)教程之Logging利用NLog寫(xiě)日志文件
- 使用NLog給Asp.Net Core做請(qǐng)求監(jiān)控的方法
- ASP.NET Core使用NLog輸出日志記錄
相關(guān)文章
詳解ASP.NET MVC3:Razor的@:和語(yǔ)法
這篇文章主要介紹了詳解ASP.NET MVC3:Razor的@:和語(yǔ)法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-01-01ASP.NET使用xslt將xml轉(zhuǎn)換成Excel
本文介紹利用Excel軟件生成格式,提取和精簡(jiǎn)之后制作成xslt文件,將xml導(dǎo)入,以xslt為模板,生成新的Excel文件的過(guò)程。2016-05-05ASP.NET驗(yàn)證碼實(shí)現(xiàn)(附源碼)
這篇文章主要介紹了ASP.NET驗(yàn)證碼實(shí)現(xiàn)過(guò)程,并為大家分享了源碼下載,感興趣的小伙伴們可以參考一下2015-11-11合并網(wǎng)頁(yè)中的多個(gè)script引用實(shí)現(xiàn)思路及代碼
為了更好的進(jìn)行封裝,每個(gè)實(shí)現(xiàn)不同功能的js代碼應(yīng)該有自己的js文件,這樣如果一個(gè)網(wǎng)頁(yè)中引用了多個(gè)js文件會(huì)很難管理,所以就出現(xiàn)了合并js這以說(shuō),感興趣的朋友不妨參考下本文希望對(duì)你有所幫助2013-02-02