web-dev-qa-db-fra.com

Comment définir la taille maximale du fichier NLog?

Existe-t-il une option/configuration dans NLog pour définir la taille maximale du fichier journal (par exemple 5 Mo)?

Ce dont j'ai besoin, c'est que lorsque le fichier journal dépasse la taille maximale (que je définis), il sauvegarde l'ancien (avec un horodatage comme nom de fichier) et commence à écrire dans un nouveau.

Comment cela peut-il être fait? Je préférerais une sorte de configuration intégrée, mais s'il n'y en a pas, cela peut-il être fait en toute sécurité manuellement sans corrompre le fichier journal?

8
zig

Vous pouvez définir archiveNumbering="DateAndSequence" et archiveAboveSize="5000000"

<targets>
  <target xsi:type="File"
          archiveNumbering="DateAndSequence"
          archiveAboveSize="5000000"
          // other config
</targets>

Voir cette note de ici si vous utilisez archiveAboveSize

archiveAboveSize - Taille en octets au-dessus de laquelle les fichiers journaux seront automatiquement archivés. Longue prudence: l'activation de cette option peut considérablement ralentir la journalisation de vos fichiers dans des scénarios multi-processus. Si un seul processus va écrire dans le fichier, envisagez de définir ConcurrentWrites sur false pour des performances maximales. Avertissement: la combinaison de ce mode avec la date de numérotation des archives n'est pas prise en charge. Les fichiers d'archives ne sont pas fusionnés. DateAndSequence fonctionnera

8
Hooman Bahreini

archiveAboveSize devrait faire l'affaire. Il définit la taille (octets) qui sera utilisée comme condition pour l'archivage ...
Si vous souhaitez définir archiveFileName sur l'horodatage, ${ticks} peut être utilisé. Mais je préférerais combiner la date avec le numéro de séquence, pour une meilleure lisibilité.

2
Tomas Chabada