NLog за сеанс - PullRequest
       21

NLog за сеанс

2 голосов
/ 14 мая 2010

Есть ли способ настроить 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>

Спасибо

1 Ответ

2 голосов
/ 14 мая 2010

При условии, что вы можете одновременно открыть только один экземпляр вашего приложения, вы можете просто использовать параметр deleteOldFileOnStartup:

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