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:
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
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.
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.
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.
Configuration files and related.
Debug information from the message/MIME parser.
Merges of duplicate rules, progress of rule processing, rule hits.
Rule names before execution (regardless of hits). Very useful for locating a runaway rule that is causing SA to hang.