The various SpamAssassin scripts have a debug option (-D) which can optionally take a list of channels which will restrict what information is displayed. People have asked which channels are available. However, the channels are dynamic based on the code that is running. When looking at the debug output, the first word (pre-colon) is the logging level (dbg, info, warn, error,) and the second word (pre-colon) is the channel. ie:
[20784] dbg: message: main message type: text/plain [20784] dbg: bayes: DB journal sync: last sync: 1148309062 [20784] dbg: check: is spam? score=-0.156 required=5 [20784] dbg: check: tests=BAYES_00,MISSING_SUBJECT,NO_RECEIVED,NO_RELAYS,TO_CC_NONE |
has the channels message, bayes, and check. While the channels are dynamic in nature, below are the standard ones that are in use as of v3.1.2 (this is not a complete list).
Note: debug mode will show a certain amount of information, while some channels will give more details if the channel is used specifically. ie: "-D" vs "-D bayes".
accessdb
all
The default if _-D_ is specified without any parameters. Can be useful in combination with other channels to get more output, such as _-D all,bayes_. |
archive-iterator
auto-whitelist
bayes
Information related to the Bayesian classifier, including DB access, expiry, etc. When specifically added, will also output information about individual tokens and their Bayes score. |
check
Information related to the [PerMsgStatus]::check() function, which generally includes which rule priorities are being run, the ham/spam decision, message score, and list of (sub)rules that matched. |
config
Configuration files and related. |
dcc
diag
dk
dkim
dns
eval
generic
hashcash
ident
ignore
info
ldap
learn
locker
log
logger
markup
message
Debug information from the message/MIME parser. |
metadata
netcache
plugin
prefork
pyzor
razor2
received-header
replacetags
reporter
rules
Merges of duplicate rules, progress of rule processing, rule hits. |
rules-all
Rule names before execution (regardless of hits). Very useful for locating a runaway rule that is causing SA to hang. |
spamd
spf
textcat
uri
uridnsbl
util
generated via:
$ egrep -hr '(info|dbg)\(' spamassassin.raw spamd lib | perl -nle 'next unless /^\s*(?:info|dbg)\(.([^:]+):/; print $1' | sort -u |
channel
diag
dns
generic
gpg
http
sha1
generated via:
egrep -hr '(info|dbg)\(' sa-update.raw | perl -nle 'next unless /^\s*(?:info|dbg)\(.([^:]+):/; print $1' | sort -u |