How to set NLog max file size?

zig picture zig · May 24, 2018 · Viewed 10.8k times · Source

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?

Answer

Hooman Bahreini picture Hooman Bahreini · May 24, 2018

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