2016-10-28 17 views
0

我使用NLOG 4.0.1,這是寫入日誌NLOG保持重裝配置文件,即使自動重選項是「假」

public static void LogInfo(string message) 
    { 
     NLog.LogManager.GetCurrentClassLogger().Info(message); 
    } 

代碼這裏是NLog.config

<?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" 
     autoReload="false" 
     throwExceptions="false"> 

    <targets async="true"> 
    <target xsi:type="File" 
      name="default"    
      layout="${longdate} ${message}" 
      fileName="${basedir}/PDF_${shortdate}.log" 
      keepFileOpen="false" 
      /> 
    </targets> 
    <rules> 
    <logger name="*" writeTo="default" minlevel="Info" /> <!-- cambie minlevel="Off" para apagar el log de ventas --> 
    </rules> 
</nlog> 

在日誌文件中我仍然看到很多消息關於「在1毫秒重新加載配置」,但他們不應該在那裏(據我所知)

什麼,我做錯了什麼或缺少

回答

0

事實證明,同一個項目的另一個模塊也使用NLog和不同的配置文件。因此這條規則(*)導致其他記錄器也寫在我的日誌文件上。

<logger name="*" writeTo="default" minlevel="Info" /> 

的解決辦法是在記錄

<?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" 
     autoReload="false" 
     throwExceptions="false"> 

    <targets async="true"> 
    <target xsi:type="File" 
      name="PaymentDetailsTarget"    
      layout="${longdate} ${message}" 
      fileName="${basedir}/PD_${shortdate}.log" 
      keepFileOpen="false" 
      /> 
    </targets> 
    <rules> 
    <!-- Para apagar el log de ventas cambie minlevel="Off" --> 
    <logger name="PaymentDetailsLogger" writeTo="PaymentDetailsTarget" minlevel="Info" /> 
    </rules> 
</nlog> 

使用一個名稱和寫入日誌是這樣的:

private static NLog.Logger PDlogger = NLog.LogManager.GetLogger("PaymentDetailsLogger"); 

    /// <summary> 
    /// Logs an information message using NLOG 
    /// </summary> 
    /// <param name="message">The message to be logged</param> 
    public static void LogInfo(string message) 
    { 
     PDlogger.Info(message); 
    } 
相關問題