.Net项目中关于日志的组件还是很多的,包括log4net,Nlog,以及.net core 框架自带的Logging,今天就简单介绍一下Nlog,对.Net 6 添加NLog相关知识感兴趣的朋友一起看看吧
创建一个.Net 6 Demo项目
引入NLog包
添加项目配置文件nlog.config
layout布局:
${longdate} 格式:2022-01-21 17:00:28.4860
后面的毫秒不是我想要的,可以自定义:date:yyyy-MM-dd HH\:mm\:ss
NLog等级
Trace:最常见的记录信息,一般是普通输出
Debug:同样是记录信息,出现的频率比Trace少,一般是调试程序
Info:信息类型的消息
Warn:警告消息
Error:错误消息
自上而下,等级递增
指定特定等级:level="Warn"
指定多个等级:levels="Debug,Info" 以逗号分隔
指定等级范围:minlevel="Info" maxlevel="Error"
添加工具类 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); } }
添加测试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,运行测试
到此这篇关于.Net 6 添加NLog的文章就介绍到这了,更多相关.Net 6 添加NLog内容请搜索0133技术站以前的文章或继续浏览下面的相关文章希望大家以后多多支持0133技术站!
以上就是关于.Net 6 添加NLog的方法的详细内容,更多请关注0133技术站其它相关文章!