Вопрос

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

Спасибо

Это было полезно?

Решение

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

  <targets>
    <target name="FileTarget" xsi:type="File" fileName="MainLogFile.txt" layout="${longdate} ${callsite} ${level} ${message}" deleteOldFileOnStartup="true">
  </targets>
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top