输出:

输出:

我只想从下面的调试输出日志访问 stdout_lines 或 stdout 输出部分(即在线),但我得到了整个日志。

我刚才在这里提到了相关代码:

代码:

- debug: msg=" {{ item.stdout_lines }} "
    with_items: " {{ result.results }} "

输出:

ok: [192.168.0.1] => (item={'changed': True, '_ansible_no_log': False, 'stdout': u'[online]\r\n', '_ansible_item_result': True, 'item': u'process1', 'stderr': u'Shared connection to 192.168.154.241 closed.\r\n', 'rc': 0, 'stdout_lines': [u'[online]'], '_ansible_ignore_errors': None, 'failed': False}) => {
    "changed": false, 
    "item": {
        "changed": true, 
        "failed": false, 
        "item": "process1", 
        "rc": 0, 
        "stderr": "Shared connection to 192.168.0.1 closed.\r\n", 
        "stdout": "[online]\r\n", 
        "stdout_lines": [
            "[online]"
        ]
    }, 
    "msg": " [u'[online]'] "

答案1

嗯,看起来您正在使用-v选项运行 ansible-playbook。因此,由于您处于详细模式,因此您会看到更多信息。

此外,由于您在调试任务中使用,with_items因此您将看到在处理当前项目时显示该项目的内容。您可以使用循环控制

- debug: msg=" {{ item.stdout_lines }} "
    with_items: " {{ result.results }} "
  loop_control:
    label: '...'

相关内容