Add log_only to debug messages (#25545)
Fixes #25544 When `debug` is enabled the debug messages triggered from `bin/ansible-connection` should be logged only to file and not on stdout.
This commit is contained in:
parent
343a709800
commit
9e8cc26720
3 changed files with 7 additions and 6 deletions
|
@ -290,7 +290,7 @@ def main():
|
||||||
sys.stderr.write(traceback.format_exc())
|
sys.stderr.write(traceback.format_exc())
|
||||||
sys.exit("FAIL: %s" % e)
|
sys.exit("FAIL: %s" % e)
|
||||||
|
|
||||||
ssh = connection_loader.get('ssh', class_only=True)
|
ssh = connection_loader.get('ssh', class_only=True, log_only=True)
|
||||||
cp = ssh._create_control_path(pc.remote_addr, pc.connection, pc.remote_user)
|
cp = ssh._create_control_path(pc.remote_addr, pc.connection, pc.remote_user)
|
||||||
|
|
||||||
# create the persistent connection dir if need be and create the paths
|
# create the persistent connection dir if need be and create the paths
|
||||||
|
|
|
@ -343,6 +343,7 @@ class PluginLoader:
|
||||||
|
|
||||||
found_in_cache = True
|
found_in_cache = True
|
||||||
class_only = kwargs.pop('class_only', False)
|
class_only = kwargs.pop('class_only', False)
|
||||||
|
log_only = kwargs.pop('log_only', False)
|
||||||
if name in self.aliases:
|
if name in self.aliases:
|
||||||
name = self.aliases[name]
|
name = self.aliases[name]
|
||||||
path = self.find_plugin(name)
|
path = self.find_plugin(name)
|
||||||
|
@ -367,7 +368,7 @@ class PluginLoader:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
self._display_plugin_load(self.class_name, name, self._searched_paths, path,
|
self._display_plugin_load(self.class_name, name, self._searched_paths, path,
|
||||||
found_in_cache=found_in_cache, class_only=class_only)
|
found_in_cache=found_in_cache, class_only=class_only, log_only=log_only)
|
||||||
if not class_only:
|
if not class_only:
|
||||||
try:
|
try:
|
||||||
obj = obj(*args, **kwargs)
|
obj = obj(*args, **kwargs)
|
||||||
|
@ -383,7 +384,7 @@ class PluginLoader:
|
||||||
setattr(obj, '_load_name', name)
|
setattr(obj, '_load_name', name)
|
||||||
return obj
|
return obj
|
||||||
|
|
||||||
def _display_plugin_load(self, class_name, name, searched_paths, path, found_in_cache=None, class_only=None):
|
def _display_plugin_load(self, class_name, name, searched_paths, path, found_in_cache=None, class_only=None, log_only=False):
|
||||||
msg = 'Loading %s \'%s\' from %s' % (class_name, os.path.basename(name), path)
|
msg = 'Loading %s \'%s\' from %s' % (class_name, os.path.basename(name), path)
|
||||||
|
|
||||||
if len(searched_paths) > 1:
|
if len(searched_paths) > 1:
|
||||||
|
@ -392,7 +393,7 @@ class PluginLoader:
|
||||||
if found_in_cache or class_only:
|
if found_in_cache or class_only:
|
||||||
msg = '%s (found_in_cache=%s, class_only=%s)' % (msg, found_in_cache, class_only)
|
msg = '%s (found_in_cache=%s, class_only=%s)' % (msg, found_in_cache, class_only)
|
||||||
|
|
||||||
display.debug(msg)
|
display.debug(msg, log_only)
|
||||||
|
|
||||||
def all(self, *args, **kwargs):
|
def all(self, *args, **kwargs):
|
||||||
''' instantiates all plugins with the same arguments '''
|
''' instantiates all plugins with the same arguments '''
|
||||||
|
|
|
@ -174,9 +174,9 @@ class Display:
|
||||||
def vvvvvv(self, msg, host=None):
|
def vvvvvv(self, msg, host=None):
|
||||||
return self.verbose(msg, host=host, caplevel=5)
|
return self.verbose(msg, host=host, caplevel=5)
|
||||||
|
|
||||||
def debug(self, msg):
|
def debug(self, msg, log_only=False):
|
||||||
if C.DEFAULT_DEBUG:
|
if C.DEFAULT_DEBUG:
|
||||||
self.display("%6d %0.5f: %s" % (os.getpid(), time.time(), msg), color=C.COLOR_DEBUG)
|
self.display("%6d %0.5f: %s" % (os.getpid(), time.time(), msg), color=C.COLOR_DEBUG, log_only=log_only)
|
||||||
|
|
||||||
def verbose(self, msg, host=None, caplevel=2):
|
def verbose(self, msg, host=None, caplevel=2):
|
||||||
if self.verbosity > caplevel:
|
if self.verbosity > caplevel:
|
||||||
|
|
Loading…
Add table
Reference in a new issue