syslog

Log information using syslog(3) via rule sets V8.10 and later

The syslog database-map type allows you to log messages directly from inside rule sets. If you are unfamiliar with syslog, see Log with syslog on page 513 for a general discussion of syslog-style logging.

The syslog type is declared like this:

Kname syslog switches

The name is the database-map name you will use in rule sets. The switches are selected from those shown in Table 23-27.

Table 23-27. The syslog database-map type K command switches

Switch

§

Description

-D

-D on page 887

Don’t use this database map if DeliveryMode=defer.

-L

The -L syslog database-map switch on page 940

The logging level at which to log.

-S

-S on page 890

Space replacement character.

In rule sets, the syslog type is used, for example, like this:

R $*    $: $(name what to log $)

The information in the position of the key is logged as is via the syslog facility. An empty workspace is returned as a result of logging. That is, for the syslog type, the $( and $) expressions evaluate to an empty string.

Any use of defined macros in the message should use the $& prefix so that the current value is logged. For example, the following might be used to log the load average:

Kdolog syslog
R $*    $: $(dolog The cutoff was caused by a load average of $&{load_average}. $)

If you need to have a sendmail macro or positional macro literally logged as is, just prefix it with an extra $ character. For example, the following shows the macro and logs its value: ...

Get sendmail, 4th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.