有没有办法配置NLog来记录每个应用程序会话的信息?截至目前,每次执行应用程序时它都会在日志文件中附加消息(WinForm)。我们想要的只是存储当前会话的信息。这意味着当应用程序启动时,所有先前的消息都会在记录任何新消息之前被清除。这样,只有当前会话的消息才会出现在日志文件中。
这是当前配置
<?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>
由于
答案 0 :(得分:2)
假设您一次只能打开一个应用程序实例,可以使用deleteOldFileOnStartup参数:
<targets>
<target name="FileTarget" xsi:type="File" fileName="MainLogFile.txt" layout="${longdate} ${callsite} ${level} ${message}" deleteOldFileOnStartup="true">
</targets>