Rotate output files.
authorIain Patterson <me@iain.cx>
Sat, 21 Dec 2013 12:00:53 +0000 (12:00 +0000)
committerIain Patterson <me@iain.cx>
Sat, 21 Dec 2013 13:44:41 +0000 (13:44 +0000)
commit2f219930f488b2551326900df5c201de2e9304f2
tree25733071785738821e0c33e2935c69ff383b51ed
parent9f3d08676d86c939b864b4868d99b6e5772d95c8
Rotate output files.

The files specified by AppStdout and AppStderr can now be rotated prior
to launching the application.  An existing file will be renamed with a
new suffix based on its last write time, to millisecond precision.

Rotation is controlled independently of the CreateFile() arguments used
when opening the files for writing.  It is possible to configure
rotation regardless of whether existing files would be appended or
replaced.

Four new REG_DWORD entries control how rotation happens.

If AppRotateFiles is 0 or missing, rotation is disabled.

If AppRotateSeconds is non-zero, a file will not be rotated if its last
write time is less than the given number of seconds in the past.

If AppRotateBytes is non-zero, a file will not be rotated if it is
smaller than the given number of bytes.

64-bit file sizes can be handled by specifying a high order part in
AppRotateBytesHigh.

Thanks Doug Watson.
ChangeLog.txt
README.txt
gui.cpp
io.cpp
io.h
messages.mc
nssm.rc
registry.cpp
registry.h
resource.h
service.h