2013-11-25 62 views
3

我第一次使用Nlog。我的目標是寫入一個文本文件。如何使用NLog在當前目錄中創建文本文件?

main.c中我有

class Program 
{ 
    private static Logger logger = LogManager.GetCurrentClassLogger(); 

static void Main(string[] args) 
{ 
     logger.Trace("Sample trace message"); 
     logger.Debug("Sample debug message"); 
     logger.Info("Sample informational message"); 
     logger.Warn("Sample warning message"); 
     logger.Error("Sample error message"); 
     logger.Fatal("Sample fatal error 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"> 

    <targets> 
     <target name="logfile" xsi:type="File" fileName="file.txt" /> 
    </targets> 

    <rules> 
     <logger name="*" minlevel="Info" writeTo="logfile" /> 
    </rules> 
</nlog> 

但我不能在我的當前目錄下創建一個txt文件。

回答

5

您是否將NLog.config'copy to output directory'設置爲'always always'?

如果您關注their tutorial,您應該使用它。

+1

ohhhhh!感謝這樣一個愚蠢的錯誤 – user2968369

6

嘗試......

<targets> 
    <target name="logfile" xsi:type="File" fileName="${basedir}/file.txt" /> 
</targets> 

看看這裏也introduction to NLog

+0

nope。沒有工作。我不知道它應該是Nlog工作的第一個基本步驟,但它不起作用 – user2968369

+1

您是否試圖將文件路徑硬編碼爲**測試**?如'c:\ testnlog \ file.txt',只是爲了檢查是否正在創建一個文件。 – christiandev

+0

謝謝我犯了一個愚蠢的錯誤。它的工作 – user2968369

相關問題