in the first step carldani wants to introduce a verbosity level between debug and spew. the attached patch adds such a thing.
i argued that using a consistent naming scheme that indicates verbosity with a number after the printing type instead of "info", "err", "dbg", "spew" etc. would be better. for example msg_p2 (programmer messages at verbosity level 2) or msg_g3 (general messages at verbosity level 3). this was vetoed (for now at least ;).
instead of the multiple -V parameters we could add a number after the first V (e.g. -V2 for verbosity level 2). this way we could also include a silent mode more easily without a new character for the parameter. there are no concrete plans for this though (afaik :). my plan was to use the same numbers here and in the code to indicate the level and to make -V0 the silent mode where only errors are reported (or even nothing, and -V1 the error only mode..).
later the library code should support different verbosity levels for different types (e.g. verbosity 1 for generic messages, but verbosity 3 for programmer messages). this does not need to be instantly available for cli users though.
i probably forgot some things that have been discussed (and that's a reason why i wrote the above so that at least that's not lost somewhere in my head :).
we would like to hear any input of other devs regarding this of course!