如何使用详细的ansible日志并保持控制台输出非冗长?

时间:2017-01-03 16:57:42

标签: ansible ansible-2.x

我想将详细(详细)ansible日志保存到文件(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

1 个答案:

答案 0 :(得分:5)

开箱即用Ansible只是将您的控制台输出镜像到ANSIBLE_LOG_PATH 请参阅display方法here

似乎实现你想要的唯一方法是制作你自己的回调插件,将条目写入文件中,并且最大限度。

例如,您可以克隆default.py将所有self._display.display替换为file.write并忽略所有self._display.verbosity项检查,这样您的插件就会忽略-v cli切换。