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

sor*_*rin 3 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
Run Code Online (Sandbox Code Playgroud)

Kon*_*rov 5

开箱即用Ansible只是将您的控制台输出镜像到ANSIBLE_LOG_PATH.
这里的display方法.

似乎实现你想要的唯一方法是制作你自己的回调插件,以最大的冗长度将文件写入文件.

例如,您可以克隆default.py替换所有self._display.displayfile.write并忽略所有self._display.verbosity的检查,因此你的插件会忽略-vCLI开关.