By default this phase is handled by the built-in predicate
print_message_lines/3.  Each line of the message is prefixed with
a string depending on the severity, and is printed to user_error. 
The query severity is special--no newline is printed after the
last line of the message.
   
This behavior can be overridden by defining the hook predicate
message_hook/3, which is called with the severity of the message,
the abstract message term and its translation to
format-command lines.  It can be used to make smaller changes, for
example by calling print_message_lines/3 with a stream
argument other than user_error, or to implement a totally
different display method such as using dialog windows for messages.
   
For messages of the severity silent the message printing phase
consists of calling the hook predicate message_hook/3 only. 
Even if the hook fails, no printing is done.