2010-05-14 100 views
2

有沒有任何方法可以配置NLog來記錄每個應用程序會話的信息?到目前爲止,每次執行應用程序時都會將消息附加到日誌文件中(WinForm)。我們想要的只是存儲當前會話的信息。這意味着當應用程序啓動時,在記錄任何新消息之前,先前的所有消息都將被清除。這樣,只有當前會話的消息纔會在日誌文件中可用。NLog每個會話

這是當前配置

<?xml version="1.0"?> 
<nlog autoReload="true" xmlns="http://www.nlog-project.org/schemas/NLog.xsd"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <targets> 
    <target name="FileTarget" xsi:type="File" fileName="MainLogFile.txt" layout="${longdate} ${callsite} ${level} ${message}"/>/> 
    </targets> 
    <rules> 
    <logger name="*" levels="Trace,Info,Warn,Error,Debug,Fatal" writeTo="FileTarget"/> 
    </rules> 
</nlog> 

感謝

回答

2

假設你只能有你的應用程序中打開的一個實例一次,你可以只使用deleteOldFileOnStartup參數:

<targets> 
    <target name="FileTarget" xsi:type="File" fileName="MainLogFile.txt" layout="${longdate} ${callsite} ${level} ${message}" deleteOldFileOnStartup="true"> 
    </targets> 
+0

Eric, 感謝您的回覆。 deleteOldFileOnStartup不起作用。它沒有做任何事情。 – 2010-05-14 17:41:32

+0

它的工作。謝謝 – 2010-09-09 21:21:28