在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

NLog的主要功能、安裝及示例

我快閉嘴 ? 來源:簡儀科技 ? 作者:簡儀科技 ? 2022-09-07 13:00 ? 次閱讀

導讀

我們在開發中經常需要記錄程序或系統的操作狀態以及追蹤執行過程,以便快速的定位問題。 NLog是一個靈活且免費的日志平臺,適用于各種.NET平臺,包括.NET標準。NLog可寫入多個目標(數據庫、文件、控制臺等),并即時更改日志記錄配置。 NLog支持結構化和傳統的日志記錄,其主要特點有高性能、易于使用、易于擴展和靈活配置。 NLog官網地址:https://nlog-project.org/ NLog參考文檔:https://github.com/NLog/NLog/wiki

本期小百科介紹在C#編程時如何使用NLog來打印日志。

NLog的主要功能

1.配置簡單

NLog無論是通過配置文件還是以編程方式,配置都非常簡單。即使不重新啟動應用程序,也可以更改配置。

2.可模板化

Nlog每條日志都可以使用各種布局渲染進行模板化。

3.可拓展性

NLog 本身就自帶數種數據記錄的對象與數據輸出的格式,不僅如此,還提供可自定義的數據記錄目標與數據輸出格式。

4.結構化日志記錄

NLog完全支持結構化日志記錄并處理消息模板和自定義日志事件屬性。

5.可拓展Microsoft日志記錄

NLog可以與Microsoft Extensible Logging(和ASP.NET Core)完全集成,而無需替換標準的 Microsoft LoggerFactory。NLog自動捕獲LogEvent屬性,并可以在結構化日志目標輸出中使用它們。

6.appsettings.json

NLog配置可以從appsettings.json加載,作為NLog.config XML文件的替代方案。也可以使用 appsettings.json中的值和${configsetting}來配置NLog目標。

7.支持多種記錄跟蹤信息的目標(target)

1)文件;

2)事件日志;

3)數據庫;

4)文本控制臺;

5) E-mail;

6)調試器輸出;

7)還有一些包裝器目標可以提供緩沖、負載平衡、故障轉移情況、異步寫入和許多其他場景等。

在配置選項頁面上提供了完整的目標列表。如果沒有找到滿足需求的目標,用戶可以很容易地編寫一個定制的目標。

8.支持多平臺,例如

1) .NET 5 & 6 (.NET Standard 2.0);

2) .NET Framework 3.5 - 4.8;

3) .NET Core 1.0 - 3.1;

4) Xamarin Android + iOS (.NET Standard);

5) UWP (.NET Standard);

6) Mono 4;

7) ASP.NET Core (NLog.Web.AspNetCore package);

8) ASP.NET Classic (NLog.Web package)等。

NLog安裝

1. 在Visual Studio中,可以通過NuGet下載安裝NLog插件。

選中項目名稱,右鍵后點擊“管理NuGet程序包”(如圖1),即可進入NuGet管理器。

faadb992-2e66-11ed-ba43-dac502259ad0.png

圖 1點擊“管理NuGet程序包”

2. 點擊瀏覽,在搜索框中搜索“NLog”,分別安裝圖2中“Nlog”和“NLog.Config”,點擊名稱右側的黑色箭頭進行安裝。
faca7d70-2e66-11ed-ba43-dac502259ad0.png

圖 2安裝“Nlog和NLog.Config”

NLog示例

使用USB-61902進行單通道有限點采集,采樣率設置為10000(Sa/s),采樣點數設置為20000,分別記錄啟動采集和結束采集的時刻。

1.首先在代碼頂端添加usingfae4aede-2e66-11ed-ba43-dac502259ad0.png

2.點擊項目中“NLog.config”

項目引入NLog.Config之后,會自動添加一個NLog.Config配置文件,程序運行的時候,會自動加載NLog.Config作為Nlog的配置。

打開該XML文件,其中有詳細說明,targets配置輸出目標,rules配置路由規則。

1)全局配置faf64aea-2e66-11ed-ba43-dac502259ad0.png
這是NLog.config的默認配置,一般不需要更改,其中 autoReload:設置修改配置文件后是否允許自動加載無須重啟程序;
  • autoReload:設置修改配置文件后是否允許自動加載無須重啟程序;
  • throwExceptions:內部日志系統拋出異常;
  • internalLogLevel:可選Trace/Debug/Info/Warn/Error/Fatal決定內部日志的級別,Off為關閉;
  • internalLogFile:把內部的調試和異常信息都寫入指定文件里

2)targets定義日志的輸出目標

fb0da186-2e66-11ed-ba43-dac502259ad0.png

targets中是對輸出目標的配置,需要配置名稱、輸出類型、內容格式等,其中

  • name是設置輸出目標的名稱;

  • xsi:type是設置輸出類型,其中File是文件類型;

  • fileName是設置輸出文件路徑,其中${basedir}是相對路徑,/logs是生成文件夾并命名為logs${shortdate}.log是以年月日日期生成log文件名稱;

  • layout是設置生成內容的格式,其中${longdate}是返回長時間格式,${uppercase:${level}}是返回當前日志的等級,${message}是用戶設置的信息。

3)rules定義對日志信息的路由規則

fb22f81a-2e66-11ed-ba43-dac502259ad0.png

rules中是對日志路由順序的配置,可以將日志分不同級別進行輸出,不同級別的日志代表日志的重要程度,比如一些debug級別的日志在生產環境就會被控制不輸出,以減少日志文件的大小。
  • minlevel是設置日志的最小等級,Debug是日志等級中的一種

  • writeTo是設置日志輸出到target的目標,f為targets中配置的目標名稱;

備注:日志級別有如下各種

a) Trace:最常見的記錄信息,一般用于普通輸出;

b) Debug:同樣是記錄信息,不過出現的頻率要比Trace少一些,一般用來調試程序;

c) Info:信息類型的消息;

d) Warn:警告信息,一般用于比較重要的場合;

e) Error:錯誤信息;

f) Fatal:致命異常信息。一般來講,發生致命異常之后程序將無法繼續執行。

3. 完成對“NLog.config”的配置后,就可以在C#程序中直接完成對NLog的調用。

修改USB-61902單通道有限點采集范例。

1)在aiTask開始任務時,打印日志記錄下時間,參考代碼如下:

fb37b002-2e66-11ed-ba43-dac502259ad0.png

2)在aiTask停止任務時,打印日志記錄下時間,參考代碼如下:

fb574782-2e66-11ed-ba43-dac502259ad0.png

4. 運行程序后,即可在文件夾中查看到打印的日志信息,如圖3:

fb6b7a90-2e66-11ed-ba43-dac502259ad0.png
審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • net
    net
    +關注

    關注

    0

    文章

    126

    瀏覽量

    56258
  • 開源
    +關注

    關注

    3

    文章

    3408

    瀏覽量

    42720
  • 日志
    +關注

    關注

    0

    文章

    139

    瀏覽量

    10681

原文標題:測量小百科 | NLog靈活免費的.NET開源日志記錄

文章出處:【微信號:簡儀科技,微信公眾號:簡儀科技】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問TIMx有哪些主要功能

    TIMx簡介TIMx主要功能
    發表于 11-09 08:56

    PWM發生器的主要功能

    什么是PWM發生器及其主要功能
    發表于 12-04 07:22

    MusrLicManage的主要功能

    MusrLicManage簡介MusrLicManage主要功能
    發表于 12-16 07:22

    ROADM是什么?ROADM節點的主要功能模塊包括哪些?

    ROADM是什么?ROADM節點的主要功能模塊包括哪些?
    發表于 05-28 06:23

    ECC是什么?有什么主要功能

    ECC是什么?有什么主要功能
    發表于 06-21 07:00

    操作系統內核的主要功能有哪些

    什么是操作系統?操作系統內核的主要功能有哪些?Linux是什么?什么是軟件移植?
    發表于 10-19 07:46

    網卡實現的主要功能是什么

    從介質訪問控制方法的角度局域網可分為哪幾類?以太網交換機是根據什么去轉發數據幀的?網卡實現的主要功能是什么?
    發表于 10-20 06:24

    DC的主要功能或者主要作用是什么

    什么是DC?DC能接受多少種輸入格式?DC的主要功能或者主要作用是什么?如何配置DC?
    發表于 10-20 07:02

    Linux內核主要功能包括哪些呢

    Linux內核是什么?Linux內核主要功能包括哪些呢?
    發表于 02-28 08:44

    電話伴侶的主要功能

    電話伴侶的主要功能          &n
    發表于 12-31 13:46 ?932次閱讀

    電話機的主要功能

    電話機的主要功能         
    發表于 12-31 14:37 ?1052次閱讀

    網絡電話的主要功能

     網絡電話的主要功能         
    發表于 12-31 14:53 ?741次閱讀

    bios的主要功能

    本視頻主要詳細介紹了bios的主要功能,分別是BIOS系統設置程序、POST上電自檢、BIOS系統啟動自舉程序、硬件IO和中斷服務。
    的頭像 發表于 03-28 15:10 ?7560次閱讀

    直線導軌的主要功能

    直線導軌的主要功能
    的頭像 發表于 07-26 17:42 ?1183次閱讀
    直線導軌的<b class='flag-5'>主要功能</b>

    AMI網絡的主要功能

    電子發燒友網站提供《AMI網絡的主要功能.pdf》資料免費下載
    發表于 11-27 11:56 ?0次下載
    AMI網絡的<b class='flag-5'>主要功能</b>
    主站蜘蛛池模板: 热九九精品 | 加勒比一到三区 | 亚洲在成人网在线看 | 6969精品视频在线观看 | 天堂网中文在线最新版 | 亚洲区视频在线观看 | 日本人视频-jlzz jlzz jlzz | 日本一区免费在线观看 | 欧美在线1| 美女视频黄a视频免费全过程 | 午夜福利国产一级毛片 | 国产在视频线精品视频2021 | 在线免费看黄的网站 | 久久免费视频99 | 日韩一区二区三区在线 | 六月婷婷综合网 | 亚洲不卡视频在线观看 | 亚洲xx网| 亚洲午夜精品一区二区 | 久久亚洲成人 | 美女和美女 | 性做久久久久久网站 | 簧片视频在线观看 | 欧美成人激情在线 | 日韩欧美亚洲综合久久影院d3 | 一级一黄在线观看视频免费 | 免费高清特黄a 大片 | 性猛交╳xxx乱大交 性免费视频 | 玖玖爱这里只有精品 | 免费伦费一区二区三区四区 | 国产美女亚洲精品久久久久久 | 亚洲韩国欧美一区二区三区 | 日韩欧美中文字幕在线视频 | 激情综合色综合啪啪开心 | 国产精品黄网站免费观看 | 亚洲日本色图 | 久久夜夜肉肉热热日日 | 男啪女色黄无遮挡免费观看 | 一级做a爱片久久毛片 | 亚洲欧美视频 | 黄网站色视频免费看无下截 |