2017-01-03 1 views
3

Ich möchte detaillierte (verbose) ansible Protokolle in Dateien (ANSIBLE_LOG_PATH) speichern, aber gleichzeitig die Konsolenausgabe kurz halten.Wie kann ich ausführliche Ansible-Protokolle haben und die Konsolenausgabe nicht-ausführlich halten?

Wie kann ich das erreichen? Bis jetzt war ich in der Lage, diesen Ansatz zu verwenden, um Logs in neue Dateien zu speichern, aber es scheint, dass sie die gleiche Ausführlichkeitsstufe wie die Konsole haben, die nicht zu viel hilft.

#!/bin/bash 
SOURCE="${BASH_SOURCE[0]}" 
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink 
    DIR="$(cd -P "$(dirname "$SOURCE")" && pwd)" 
    SOURCE="$(readlink "$SOURCE")" 
    [[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located 
done 
DIR="$(cd -P "$(dirname "$SOURCE")" && pwd)" 

export ANSIBLE_LOG_PATH="$DIR/ansible-$(date +%Y%m%d%H%M%S).log" 

ansible -m ping localhost 

Antwort

5

Out of the Box spiegelt Ansible nur Ihre Konsolenausgabe ANSIBLE_LOG_PATH wider.
Siehe display Methode here.

Scheint die einzige Möglichkeit zu erreichen, was Sie wollen, ist Ihre eigenen Callback-Plugin, die Einträge in Datei mit maximaler Ausführlichkeit schreiben.

Zum Beispiel können Sie default.py klonen alle self._display.display-file.write ersetzen und ignorieren alle self._display.verbosity überprüft, so dass Ihr Plugin -v cli Schalter ignorieren.

Verwandte Themen