Allow user to control output of verbose messages (#52948)

to stdout (default) or stderr
pull/53363/head
Brian Coca 6 years ago committed by GitHub
parent 1160e506e9
commit 7a0b4a5117
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -0,0 +1,2 @@
minor_changes:
- allow user to force verbose messages to stderr

@ -1776,4 +1776,15 @@ STRING_CONVERSION_ACTION:
- section: defaults
key: string_conversion_action
type: string
VERBOSE_TO_STDERR:
version_added: '2.8'
description:
- Force 'verbose' option to use stderr instead of stdout
default: False
env:
- name: ANSIBLE_VERBOSE_TO_STDERR
ini:
- section: defaults
key: verbose_to_stderr
type: bool
...

@ -201,11 +201,13 @@ class Display(with_metaclass(Singleton, object)):
self.display("%6d %0.5f [%s]: %s" % (os.getpid(), time.time(), host, msg), color=C.COLOR_DEBUG)
def verbose(self, msg, host=None, caplevel=2):
to_stderr = C.VERBOSE_TO_STDERR
if self.verbosity > caplevel:
if host is None:
self.display(msg, color=C.COLOR_VERBOSE)
self.display(msg, color=C.COLOR_VERBOSE, stderr=to_stderr)
else:
self.display("<%s> %s" % (host, msg), color=C.COLOR_VERBOSE)
self.display("<%s> %s" % (host, msg), color=C.COLOR_VERBOSE, stderr=to_stderr)
def deprecated(self, msg, version=None, removed=False):
''' used to print out a deprecation message.'''

Loading…
Cancel
Save