中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# NLog體驗

發布時間:2020-06-24 21:56:02 來源:網絡 閱讀:1268 作者:Aonaufly 欄目:編程語言

本人直接在Nuget中獲得Nlog日志類庫支持,再次整下Nuget知識(需要在聯網的前景下進行)

①:在項目上右擊-》管理NuGet程序包(如下圖所示)

C# NLog體驗

②:出現管理器面板單擊左側“聯網”也簽 -》在右側的搜索欄中輸入“NLog”回車-》在中間選擇“NLog”欄目點擊安裝(如下圖所示)

C# NLog體驗

等待下載(所以說需要聯網)

C# NLog體驗

C# NLog體驗

在這有個小插曲 , 因為我的控制臺程序沒有配置文件(app.config),一般新建的控制臺程序都有的。不說了 , 動手添加,但是必須注意:只能添加一個配置文件(操作如下圖)

C# NLog體驗

個人覺得比較難找 , 建議使用搜索

C# NLog體驗

附上整個App.config的配置

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="nlog" type="NLog.Config.ConfigSectionHandler, NLog"/>
  </configSections>
  <nlog autoReload="true" internalLogLevel="Trace" internalLogFile="logs/internalLog.txt">
    <targets>
      <target name="T1" type="File" fileName="${basedir}/logs/${shortdate}.log"
              layout="${longdate} ${callsite} ${level}: 
              ${message} ${event-context:item=exception} ${stacktrace} ${event-context:item=stacktrace}"/>
      <target name="T2" type="Console" layout="${date:format=yyyyMMddHHmmss} ${callsite} ${level} ${message}"/>
    </targets>
    <rules>
      <logger name="file" minlevel="Debug" maxlevel="Off" writeTo="T1"/>
      <logger name="console" minlevel="Trace" maxlevel="Off" writeTo="T2"/>
    </rules>
  </nlog>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
</configuration>

注解:

① , autoReload="true"表示在不重新啟動應用程序的情況下,修改配置文件,NLog會自動加載應用;

internalLogLevel="Trace"internalLogFile="logs/internalLog.txt"這個設置可以將NLog內部的日志消息寫到應用程序目錄下的logs文件夾里的internalLog.txt文件中;(這個配置常用于調試Nlog的配置是否正確,調試完成后,最好關閉以提高性能)
<target>的配置:type="File|Console" 屬性是設置日志輸出目標是"File"(文件)或者"Console"(控制臺);


②,type="File"的時候要指定fileName屬性, fileName="${basedir}/logs/${shortdate}.log" 設置日記記錄文件的路徑和名稱,即應用程序下的log目錄里格式為yyyy-MM-DD.log;

layout="${date:format=yyyyMMddHHmmss} ${callsite} ${level} ${message}" 設置日志輸出格式(可查閱官網說明).


③,name="file"表示配置的規則適用于Logger名稱為“file”,如果填*,則表示所有的Logger都運用這個規則。
minlevel="Debug"maxlevel="Off"用來配置記錄的級別為最小是"Debug"最大為"Off"(備注:此處也可以用levels="Debug,Off"來設置,說明只輸出Debug級別以及Off級別的日志,官網此處解說有誤:)
writeTo="T1"其中T1,T2分別代表上面設置的targets名稱為T1以及T2的目標輸出,此處表示將分別將日志信息輸出到文件/控制臺。


有必要說一下消息級別

解壓下載的壓縮包:http://nlog-project.org/ 請從官網下載

解壓后 在src/NLog中有個LogLevel.cs文件,里面有消息等級的相關信息(可以打開看看,總共分6級,從低到高)

C# NLog體驗


好了,代碼測試:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using NLog;
namespace MyNLog
{
    public class Program
    {
        private static Logger @loggerFile = LogManager.GetLogger("file");
        private static Logger @loggerConsole = LogManager.GetLogger("console");
        static void Main(string[] args)
        {
            loggerFile.Debug("A File test Message = Debug");
            loggerFile.Warn("A File test Message = Warn");
            loggerFile.Trace("A File test Message = Trace");
            loggerConsole.Debug("A Console test Message = Debug");
            Console.Read();
        }
    }
}

解析:

① ,@loggerFile類是往文件當中寫日志的

② ,@loggerConsole類是往控制臺寫消息的

C# NLog體驗

至于日志在Debug/logs中

C# NLog體驗

因為配置問題,參見App.config , 2017-03-09.log中沒有A File test Message = Trace

C# NLog體驗


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

贵定县| 乾安县| 邳州市| 绵竹市| 林周县| 永靖县| 贺州市| 渭南市| 隆安县| 宜都市| 孝感市| 会昌县| 石泉县| 鄢陵县| 隆化县| 宜川县| 铜陵市| 聂拉木县| 宜阳县| 娱乐| 依兰县| 邛崃市| 太原市| 惠州市| 黔西| 锡林郭勒盟| 汨罗市| 辰溪县| 喜德县| 嘉黎县| 曲沃县| 宁城县| 资讯| 扶沟县| 蒙阴县| 三门峡市| 肇东市| 长治市| 岐山县| 宁阳县| 凌海市|