Log block (UnrealIRCd 5)

The log block allows you to configure log files. You may have multiple log blocks.

If you have no log block at all then UnrealIRCd will use a default log block that only logs errors to ircd.log.

Syntax
log " " { flags { ;               ;                ...        };        maxsize ; /* OPTIONAL */ };

filename
The filename specifies where to log to. Examples:
 * : a literal filename
 * : a filename with strftime formatting. This example will give you a new log file for every day such as: ircd.2020-01-31.log. This requires UnrealIRCd 5.0.9 or newer.
 * : if you want to write to *NIX syslog.
 * : a full path (NOTE: be sure UnrealIRCd can write to the directory)

flags
The log::flags specifies which types of information will be in this log.
 * errors: errors, but also lots of other information
 * flood: users triggering food limits (New in UnrealIRCd 5.2.0+)
 * kills: logs /kill notices
 * tkl: logs info on *lines (/kline, /zline, etc), shuns and spamfilters (adding/removing/expire)
 * connects: logs user connects/disconnects
 * server-connects: logs server connects/squits
 * oper: logs oper attempts (both failed and successful)
 * sadmin-commands: logs /sa* (samode, sajoin, sapart, etc.) usage
 * chg-commands: logs /chg* (chghost, chgname, chgident, etc.) usage
 * oper-override: logs operoverride usage
 * spamfilter: logs spamfilter matches

maxsize (Optional)
When the log file reaches a file size of maxsize the log file will be renamed to name-of-log-file.old (overwriting any previous such .old file). You can use K/M/G to specify kilobytes/megabytes/gigabytes.

Example
log ircd.log { flags { errors; kills; oper; tkl; };       maxsize 10M; };

log users.log { flags { connects; };       maxsize 10M; };