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".
spamassassin and spamd channels
accessdb
all
archive-iterator
auto-whitelist
bayes
check
config
dcc
diag
dk
dkim
dns
eval
generic
hashcash
ident
ignore
info
ldap
learn
locker
log
logger
markup
message
metadata
netcache
plugin
prefork
pyzor
razor2
received-header
replacetags
reporter
rules
rules-all
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
sa-update channels
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