Log block (UnrealIRCd 5)

''NOTE: This explains the log block for UnrealIRCd 5. For UnrealIRCd 6 see here''

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; };