关于.Net|关于.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 Dedubpublic void Debug(string msg, params object[] args)_logger.Debug(msg, args); public void Debug(string msg, Exception e)_logger.Debug(e, msg); #endregion#region Infopublic void Info(string msg, params object[] args)_logger.Info(msg, args); public void Info(string msg, Exception e)_logger.Info(e, msg); #region Tracepublic void Trace(string msg, params object[] args)_logger.Trace(msg, args); public void Trace(string msg, Exception e)_logger.Trace(e, msg); #region Warnpublic void Warn(string msg, params object[] args)_logger.Warn(msg, args); public void Warn(string msg, Exception e)_logger.Warn(e, msg); #region Errorpublic 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|关于.Net 6 添加NLog的方法】到此这篇关于.Net 6 添加NLog的文章就介绍到这了,更多相关.Net 6 添加NLog内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- Java的深拷贝和浅拷贝深入了解
- 通过.NET|通过.NET 6实现RefreshToken
- .net5|.net5 使用Hangfire的过程记录
- 关于C#|关于C# 调用Dll 传递字符串指针参数的问题
- 【.NET6+WPF】WPF使用prism框架+Unity|【.NET6+WPF】WPF使用prism框架+Unity IOC容器实现MVVM双向绑定和依赖注入
- 在ASP.Net|在ASP.Net Core应用程序中使用Bootstrap4
- 关于|关于 Angular view Query 的 id 选择器问题的单步调试
- Angular|Angular 内容投影 content projection 关于条件渲染问题的单步调试
- Angular|Angular 内容投影 content projection 关于选择器问题的单步调试
- 关于施加在|关于施加在 div 标签上的 ngTemplateOutlet 指令让 div class 丢失的问题调试