Tip of the day: You can allow trusted users to send more messages per second without having to make them IRCOp. Especially useful for bots.

Log block (UnrealIRCd 5)

From UnrealIRCd documentation wiki
Jump to navigation Jump to search

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

The log block in UnrealIRCd 5 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 "<filename>" {
        flags {
                <flag>;
                <flag>;
                ...
        };
        maxsize <max-file-size>; /* OPTIONAL */
};

filename

The filename specifies where to log to. Examples:

  • ircd.log: a literal filename
  • ircd.%Y-%m-%d.log: 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.
  • syslog: if you want to write to *NIX syslog.
  • /var/log/unrealircd/ircd.log: 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;
};