سؤال

هل هناك أي طريقة لتكوين 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>

شكرًا

هل كانت مفيدة؟

المحلول

على افتراض أنه يمكنك فتح مثيل واحد فقط من التطبيق الخاص بك في وقت واحد ، يمكنك فقط استخدام معلمة DeleToLdFileonStartup:

  <targets>
    <target name="FileTarget" xsi:type="File" fileName="MainLogFile.txt" layout="${longdate} ${callsite} ${level} ${message}" deleteOldFileOnStartup="true">
  </targets>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top