logfileng - write a logfile with rotation

Writes a log file of the status of monitors. Rotates and deletes old log files based on size or age.

The logfile format is:

datetime monitor-name: status; VFC=vfc (message) (execution-time)

where the fields have the following meanings:

datetime

the datetime of the entry. Format is controlled by the dateformat configuration option.

monitor-name

the name of the monitor

status

either ok if the monitor succeeded, or failed since YYYY-MM-DD HH:MM:SS

vfc

the virtual failure count: the number of failures of the monitor beyond its tolerance. Not present for ok lines.

message

the message the monitor recorded as the reason for failure. Not present for ok lines.

execution-time

the time the monitor took to execute its check

filename
Type:

string

Required:

true

the filename to write to. Rotated logs have either .N (where N is an incrementing number) or the date/time appended to the filename, depending on the rotation mode.

rotation_type
Type:

string

Required:

true

one of time or size

when
Type:

string

Required:

false

Default:

h

Only for rotation based on time. The units represented by interval. One of s for seconds, m for minutes, h for hours, or d for days

interval
Type:

integer

Required:

false

Default:

1

Only for rotation based on time. The number of when between file rotations.

max_bytes
Type:

bytes

Required:

yes, when rotation_type is size

the maximum log file size before it is rotated.

backup_count
Type:

integer

Required:

false

Default:

1

the number of old files to keep

only_failures
Type:

boolean

Required:

false

Default:

false

set to have only monitor failures written to the log file (almost, but not quite, turning it into an alerter)