You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ansible log_plays插件日志文件名的主机名来源及修改方法

Ansible log_plays插件日志文件名相关问题解答

一、日志文件名的主机名来源

log_plays插件生成的日志文件名直接取自Ansible inventory中定义的目标主机名(或playbook里指定的主机/组名),Ansible不会自动对主机名做大小写转换,inventory里写的主机名是什么大小写,日志文件名就是什么大小写。

二、自定义日志文件名的方法

原生log_plays插件没有提供类似log_folder的配置项直接修改日志文件名,但可以通过自定义callback插件实现:

  1. 复制Ansible原生log_plays插件的代码(通常路径为/usr/lib/pythonX.X/site-packages/ansible/plugins/callback/log_plays.py)
  2. 修改代码中生成日志文件名的逻辑,比如:
    • 统一主机名大小写:将host.name改为host.name.lower()或host.name.upper()
    • 添加额外信息(如时间戳、play名称):
      from datetime import datetime
      # 生成带时间戳和play名称的文件名
      timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
      logfile = os.path.join(self.log_folder, f"{host.name.lower()}_{timestamp}_{play.name}")
      
  3. 将修改后的插件文件放在Ansible的callback_plugins目录下(可在ansible.cfg中通过callback_plugins配置项指定路径)
  4. 在ansible.cfg中启用自定义的callback插件,替换原log_plays:
    [defaults]
    callback_whitelist = custom_log_plays
    

这样就能完全自定义日志文件名的格式,满足后续按固定规则查找日志并发送邮件的需求。

内容的提问来源于stack exchange,提问作者Blaise Sequeira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 20:20:57