2017-01-03 8 views
3

ファイル(ANSIBLE_LOG_PATH)に詳細(冗長)なログを保存したいが、同時にコンソール出力を短く保つ。冗長なログを持ち、コンソール出力を非冗長に保つにはどうすればよいですか?

どうすればこの問題を解決できますか?これまではログを新しいファイルに保存するためにこの方法を使用することができましたが、あまり役に立たないコンソールと同じレベルの冗長性があるようです。

#!/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 

答えて

5

すぐに利用可能なのは、コンソール出力をANSIBLE_LOG_PATHにミラーリングするだけです。
displayの方法hereを参照してください。

あなたが望むものを達成するための唯一の方法は、ファイルにエントリを最大限に冗長表示する独自のコールバックプラグインを作成することです。例えば

、あなたはとてもあなたのプラグインが-v CLIスイッチを無視し、file.writeにすべてself._display.displayを交換default.pyのクローンを作成し、すべてのself._display.verbosityのチェックを無視することができます。

関連する問題