最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關于.Net?6?添加NLog的方法

 更新時間:2022年01月24日 11:49:28   作者:林俊杰中國分杰  
.Net項目中關于日志的組件還是很多的,包括log4net,Nlog,以及.net?core?框架自帶的Logging,今天就簡單介紹一下Nlog,對.Net?6?添加NLog相關知識感興趣的朋友一起看看吧

創(chuàng)建一個.Net 6 Demo項目

引入NLog包

添加項目配置文件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>
        <!--單個文件過大會導致寫入效率下降,可配置單個文件的最大容量-->
        <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等級

Trace:最常見的記錄信息,一般是普通輸出

Debug:同樣是記錄信息,出現(xiàn)的頻率比Trace少,一般是調(diào)試程序

Info:信息類型的消息

Warn:警告消息

Error:錯誤消息

自上而下,等級遞增

指定特定等級:level="Warn"

指定多個等級:levels="Debug,Info" 以逗號分隔

指定等級范圍:minlevel="Info" maxlevel="Error"

<rules>
    <!--<logger name="*" levels="Debug,Info,Warn,Error" writeTo="File" />-->
    <logger name="*" minlevel="Debug" maxlevel="Error" writeTo="File" />
</rules> 

添加工具類 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內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • asp.net 頁面版文本框智能提示JSCode (升級版)

    asp.net 頁面版文本框智能提示JSCode (升級版)

    模擬百度,Google智能提示,非與服務器端交互的,數(shù)據(jù)源來自已經(jīng)綁定好的下拉列表。純客戶端腳本 升級版
    2009-12-12
  • .NET之后臺用戶權(quán)限管理實現(xiàn)

    .NET之后臺用戶權(quán)限管理實現(xiàn)

    在功能性比較強大的后臺管理網(wǎng)站處于各種角度考慮多有應用權(quán)限管理功能。以公司內(nèi)部管理系統(tǒng)為例,管理員根據(jù)不同員工所在不同部門賦予其不同權(quán)限,或者根據(jù)上下級隸屬關系實現(xiàn)“金字塔”管理。本文內(nèi)容有不盡不實之處懇請指正。
    2013-02-02
  • ASP.NET 服務器路徑和一般資源調(diào)用

    ASP.NET 服務器路徑和一般資源調(diào)用

    ASP.NET 服務器路徑和一般資源調(diào)用,實現(xiàn)代碼。
    2009-08-08
  • ASP.NET表單驗證方法詳解

    ASP.NET表單驗證方法詳解

    在表單提交的時候,經(jīng)常需要對錄入信息的長度、格式、內(nèi)容等進行驗證,以便獲得合理的信息。在ASP.NET開發(fā)中主要的驗證方法,我總結(jié)了一下,主要有一下幾種,如有不足之處請朋友們予以指出。
    2008-09-09
  • vs2012創(chuàng)建的ado.net模型無法實例化的解決方案

    vs2012創(chuàng)建的ado.net模型無法實例化的解決方案

    本文給大家分享的是升級vs2012后,發(fā)現(xiàn)創(chuàng)建數(shù)據(jù)模型無法實例化使用,嘗試了很多種方法,最后在度娘的幫助下,才解決了這個問題,這里記錄下來,分享給大家。
    2015-03-03
  • .NET 4.5 異步IO 相關實例

    .NET 4.5 異步IO 相關實例

    本篇文章小編為大家介紹,.NET 4.5 異步IO 相關實例,需要的朋友參考下
    2013-04-04
  • asp.net實現(xiàn)簡單分頁實例

    asp.net實現(xiàn)簡單分頁實例

    這篇文章主要介紹了asp.net實現(xiàn)簡單分頁的方法,實例分析了asp.net分頁的基本原理與實現(xiàn)流程,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • asp.net與excel互操作實現(xiàn)代碼

    asp.net與excel互操作實現(xiàn)代碼

    將datatable中的數(shù)據(jù)導出到指定的excel文件中
    2010-04-04
  • .NET 緩存設計的使用說明

    .NET 緩存設計的使用說明

    緩存是提高應用程序性能的最好方法之一。運用緩存可以優(yōu)化數(shù)據(jù)查詢,避免不必要的網(wǎng)絡數(shù)據(jù)回傳,和避免執(zhí)行不必要的完全相同的數(shù)據(jù)處理邏輯。
    2013-03-03
  • java 單例模式(餓漢模式與懶漢模式)

    java 單例模式(餓漢模式與懶漢模式)

    這篇文章主要介紹了java 單例模式(餓漢模式與懶漢模式)的相關資料,希望通過本文大家能掌握這部分內(nèi)容,需要的朋友可以參考下
    2017-09-09

最新評論

左权县| 嘉善县| 阿瓦提县| 大关县| 乳源| 黎平县| 顺昌县| 贵港市| 巩义市| 衡阳县| 广饶县| 荆州市| 福鼎市| 定南县| 体育| 丹江口市| 内江市| 瑞金市| 新乐市| 康定县| 江山市| 双流县| 金堂县| 凉山| 青龙| 福鼎市| 岫岩| 舞阳县| 和田县| 崇仁县| 阿图什市| 班玛县| 神池县| 隆回县| 子长县| 惠东县| 新巴尔虎右旗| 固始县| 祁东县| 昆明市| 夏邑县|