Is there any option/configuration in NLog
to set the max log file size (for example 5MB)?
What I need is, that when the log file exceeds the max size (which I define), It will backup the old one (with a time stamp as file name), and start writing to a new one.
How can this be done? I would prefer some kind of build-in configuration, but if there is none can this be done safely manually without corrupting the log file?
You can set archiveNumbering="DateAndSequence"
and archiveAboveSize="5000000"
<targets>
<target xsi:type="File"
archiveNumbering="DateAndSequence"
archiveAboveSize="5000000"
// other config
</targets>
See this note from here if you are using archiveAboveSize
archiveAboveSize - Size in bytes above which log files will be automatically archived. Long Caution: Enabling this option can considerably slow down your file logging in multi-process scenarios. If only one process is going to be writing to the file, consider setting ConcurrentWrites to false for maximum performance. Warning: combining this mode with Archive Numbering Date is not supported. Archive files are not merged. DateAndSequence will work
archiveAboveSize
should do the trick. It sets the size (bytes) that will be used as a condition for archiving...
If you want to set archiveFileName to timestamp, ${ticks}
can be used. But I would prefer combining date with sequence number, for better readability.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With