What about having a config.suppress parameter in config file (defaults to False), and teach pywikibot.output and some other methods to watch that and shut up when suppress is True?
Use of logging module proposed by Maarten and Merlijn may be a general solution, but is beyond my comprehension at the moment, so I cannot contribute to it. This would be much simpler.
So I propose:
1. Let's introduce a new config parameter suppress with default False. 2. pywikibot.output should return immediately upon detecting suppress=True. One central handle for majority of screen outputs. 3. Other methods and functions may use it as necessary. 4. After correctly implementing your grandious vision of logging levels, this may be deprecated.
Toolserver bots have an own config, so this seems to be comfortable.
Hmm?