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?
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
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é.