Как я могу запустить ANSIBLE молекулы без цветов?

При запуске молекулы логи отображаются с цветами:

 molecule lint -s preprod
 --> [36mValidating schema /home/singuliere/software/enough/infrastructure/molecule/letsencrypt-nginx/molecule.yml.[0m

[0m [0m [0m [32mValidation успешно завершено. [0m [0m [0m [0m -> [36mValidating схема] /home/singuliere/software/enough/infrastructure/molecule/postfix/molecule.yml.[0m ...

который можно отключить, отправив вывод в cat (показывает только когда вывод tty)

 molecule lint -s preprod | cat

-> Проверка схемы /home/singuliere/software/enough/infrastructure/molecule/letsencrypt-nginx/molecule.yml. Проверка прошла успешно....

Есть ли постоянный способ сделать то же самое? Я попытался установить ANSIBLE_NOCOLOR= true в среде, но это не дает желаемого эффекта.

1 ответ

Решение

Кажется, что это поведение жестко закодировано.

Вы можете исправить класс логгера молекулы, чтобы отключить цвета.
Найти путь модуля с помощью python -c 'import molecule; print(molecule.__file__)',
изменять logger.py в этой папке:

def color_text(color, msg):
    return msg
    # return '{}{}{}'.format(color, msg, colorama.Style.RESET_ALL)
Другие вопросы по тегам