enum Athena::Console::Output::Verbosity
Overview
Verbosity levels determine which messages will be displayed, essentially the same idea as Log::Severity but for console output.
For example:
# Output nothing
./console my-command -q
./console my-command --quiet
# Display only useful output
./console my-command
# Increase the verbosity of messages
./console my-command -v
# Also display non-essential information
./console my-command -vv
# Display all messages, such as for debugging
./console my-command -vvv
As used in the previous example, the verbosity can be controlled on a command invocation basis using a CLI option,
but may also be globally set via the SHELL_VERBOSITY
environmental variable.
When you output a message via ACON::Output::Interface#puts
or ACON::Output::Interface#print
, they also provide a way to set the verbosity at which that message should print:
protected def execute(input : ACON::Input::Interface, output : ACON::Output::Interface) : ACON::Command::Status
# Via conditional logic
if output.verbosity.verbose?
output.puts "Obj class: #{obj.class}"
end
# Inline within the method
output.puts "Only print this in verbose mode or higher", verbosity: :verbose
ACON::Command::Status::SUCCESS
end
TIP: The full stack trace of an exception is printed in ACON::Output::Verbosity::VERBOSE
mode or higher.
Defined in:
output/verbosity.crEnum Members
-
QUIET =
-1
-
Silences all output. Equivalent to
-q
,--quiet
CLI options orSHELL_VERBOSITY=-1
. -
NORMAL =
0
-
Normal behavior, display only useful messages. Equivalent not providing any CLI options or
SHELL_VERBOSITY=0
. -
VERBOSE =
1
-
Increase the verbosity of messages. Equivalent to
-v
,--verbose=1
CLI options orSHELL_VERBOSITY=1
. -
VERY_VERBOSE =
2
-
Display all the informative non-essential messages. Equivalent to
-vv
,--verbose=2
CLI options orSHELL_VERBOSITY=2
. -
DEBUG =
3
-
Display all messages, such as for debugging. Equivalent to
-vvv
,--verbose=3
CLI options orSHELL_VERBOSITY=3
.