Nlog 配置文件


<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <variable name="logDirectory" value="E:/Log"/>

  <!--<targets>
    <default-wrapper xsi:type="AsyncWrapper"></default-wrapper>
    <target xsi:type="File"
            name="file-api-log"
            fileName="${logDirectory}/api_logs/${shortdate}.txt"
            layout ="${longdate} ${message}"/>
    <target xsi:type="File"
           name="file-api-log-error"
           fileName="${logDirectory}/api_logs_error/${shortdate}.txt"
           layout ="${longdate} ${message}"/>
  </targets>-->
  <-- 按照小時記錄  -->
  <targets>
    <default-wrapper xsi:type="AsyncWrapper"></default-wrapper>
    <target xsi:type="File"
            name="file-api-log"
            fileName="${basedir}/api_logs/${date:format=yyyy-MM-dd-HH}.txt"
            layout ="${longdate} ${message}"/>
    <target xsi:type="File"
           name="file-api-log-error"
           fileName="${basedir}/api_logs_error/${date:format=yyyy-MM-dd-HH}.txt"
           layout ="${longdate} ${message}"/>
  </targets>

  <rules>
    <logger name="api-log" minlevel="Info" writeTo="file-api-log"></logger>
    <logger name="api-log-error" minlevel="Error" writeTo="file-api-log-error"></logger>
  </rules>
</nlog>

Nlog常用的一些變量

${activityid} 將其置入日志System.Diagnostics trace 
${all-event-properties}    事件日志上下文
${appdomain}    當前應用程序域
${assembly-version}    應用程序
${basedir}    應用程序域的基本目錄。
${callsite}    (類名稱、方法名稱和相關信息的源信息)。
${callsite-linenumber}    調用類的
${counter}    數值
${date}    當前日期和時間。
${document-uri}    用於Silverlight應用。
${environment}    環境變量
${event-properties}     
${exception}    exception信息
${file-contents}    顯示指定文件的內容
${gc}    垃圾收集器
${gdc}    診斷上下文
${guid}    GUID
${identity}    線程標識信息
${install-context}    安裝參數
${level}    級別。
${literal}     
${log4jxmlevent}    XML事件描述
${logger}    記錄器的名字
${longdate}    日期和時間的格式分類yyyy-MM-dd HH:mm:ss.ffff。
${machinename}    名稱
${mdc}     映射診斷
${mdlc}    異步映射診斷上下文
${message}    消息
${ndc}    線程結構
${ndlc}    異步線程
${newline}    文字換行
${nlogdir}    nlog.dll目錄。
${performancecounter}    述性能計數器。
${processid}    當前進程標識符
${processinfo}    運行信息
${processname}    當前進程的名稱。
${processtime}    該時間過程中格式HH:MM:ss.mmm。
${qpc}    高精度定時器,基於返回的值從queryperformancecounter(任選地)轉換為秒。
${registry}    從注冊表中的值。
${sequenceid}    ID
${shortdate}    短時間 格式YYYY-MM-DD。
${sl-appinfo}    Silverlight應用。
${specialfolder}    文件夾路徑
${stacktrace} -    堆棧跟蹤渲染器。
${tempdir}    臨時目錄中。
${threadid}    當前線程的標識符。
${threadname}    當前線程。
${ticks}    當前日期和時間。
${time}    24小時格式HH:MM:ss.mmm。
${var}    {$var}-提供新的變量(4.1)
${windows-identity}    indows線程標識信息(用戶名)

 c# 調用:

 

    public class NLogHelper
    {
        private static Logger _logger = LogManager.GetLogger("api-log");

        public static void LogInfo(string message, string methodName = "")
        {
            //string methodmsg = string.IsNullOrEmpty(methodName)?"":string.Format("{}")

            _logger.Info(message);
        }

        private static Logger _loggerError = LogManager.GetLogger("api-log-error");

        public static void LogError(string message, string methodName = "")
        {
            _loggerError.Error(message);
        }
        public static void LogDBError(string message, string methodName = "")
        {
            _loggerError.Info(message);
        }
    }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM