Предлагаю стандартную шкалу подробности вывода:
1. Silent. Программа не выводит ничего, даже в случае ошибки. Безмолвно завершается с кодом ошибки.
2. Quiet. Программа не выводит ничего, только сообщения об ошибке. Так принято по умолчанию делать в юниксе.
3. Normal. Программа сообщает, что она сейчас делает (из её функционала; например, программа, скачивающая файлы, может сообщать о начале закачки каждого файла).
4. Verbose. Программа объясняет, как она делает то, что делает. Например, "Подключаюсь к серверу... Запрашиваю файл... Файл найден, размер 1.5 мб. Создаю целевую директорию..." и т.п.
5. Debug. Программа вываливает все внутренние подробности происходящего, в том числе непонятные без исходного кода. По желанию и для удобства отладка может быть разделена по модулям (--debug=http), но подразумевает как минимум verbose в целом.