FireDaemon Pro currently does not offer the ability to explicitly roll the debug log and stdout and stderr capture logs at specific times or when the log files reach a specific size. This is by design.


FireDaemon Pro facilitates implicit log rolling. This means FireDaemon Pro can write to a log file with a file name that changes dynamically. The file name can be configured to reflect the date / time and / or sequence and other system information. This is achieved by including one or more environment variables or counter placeholders in the log file name. FireDaemon Pro will substitute the current value of the environment variables and / or counters into the file name each time the log file is written to. FireDaemon Pro offers a variety of built-in environment variables that can be included in the log file name (and optionally log file path). You can find more about them in this article About Environment Variables.


Counter Placeholders

Log file paths may contain one wildcard string as a placeholder for a counter. The value of this counter is determined at runtime by searching the filesystem.


A wildcard string can either be a single asterisk ‘*’ or one or more question marks ‘?’.


An asterisk symbolises a counter value of any size with no leading zeros. A question mark string symbolises a value with a fixed number of digits, padded with leading zeros if necessary.


If FireDaemon Pro encounters a counter placeholder in a log file path, it will first search all existing matching files to determine the lowest available counter value.  It will then create the log file using this counter value in the filename.


In situations where the counter value overflows a '?' counter field (i.e. the value exceeds the maximum number of decimal digits defined by the wildcard string), the file with the oldest modification time will be used instead.


Suppose the following log files already exist:


C:\Temp\service-01.log
C:\Temp\service-03.log


In this example, FireDaemon Pro will search for C:\Temp\service-??.log, determine the next free counter value to be 2, and then open a new log file with the name C:\Temp\service-02.log. At the next iteration, it would use C:\Temp\service-04.log.


Some examples of a log file path for capturing the output of a program are:


C:\Temp\service_stdout-%FDProcessScheduleName%-*.log
C:\Temp\service_stdout-%FDProcessScheduleDate%T%FDProcessScheduleTime%-*.log


Note: The asterisk wildcard has advantages when the system's clock is modified due to daylight savings changes.


Below is an example configuration from the FireDaemon Pro Logging Tab.