当前位置: 首页 > article >正文

Crewai框架添加日志功能

一开始看官方文档以为要用@callback这个注释在一个自定义函数上输出日志,结果弄半天都没有结果,最后发已经有现成的方法了(一开始搜log都没搜到这个方法)
在这里插入图片描述
只要添加这个output_log_file配置参数即可,由于我的项目只有一个crew,为了完整记录所有的日志,所以我就在上面配置了。官方可以指定文件路径和名称,我就写了一个自动生成文件名的函数,相关代码如下:

    def generate_log_fileName(self):
        """
        根据当前时间生成日志文件路径
        Returns:
            str: 完整的日志文件路径
        """
        # 日志目录,根据自己项目修改
        log_dir = "../../logs"  
        os.makedirs(log_dir, exist_ok=True)
        # 生成精确到秒的时间戳
        timestamp = datetime.now().strftime("%Y%m%d_%H%M%S")
        # 返回完整日志文件路径
        return os.path.join(log_dir, f'crewai_{timestamp}.log')

crew的配置如下

    @crew
    def crew(self) -> Crew:
        return Crew(
            agents=self.agents,  # Automatically created by the @agent decorator
            tasks=self.tasks,  # Automatically created by the @task decorator
            process=Process.sequential,
            verbose=True,
            output_log_file=self.generate_log_fileName()
        )

最终实现的效果如下:
在这里插入图片描述

注:当前使用的版本

若版本不同可能会有出入

FrameworkVersion
CrewAI0.86.0
crewai-tools0.25.8
LangChain0.3.14

http://www.kler.cn/a/521171.html

相关文章:

  • GD32F470 USB虚拟串口
  • Day40:列表的排序
  • python 变量范围的定义与用法
  • 汽车网络信息安全-ISO/SAE 21434解析(中)
  • 拖拽移动(Semi Design)
  • 《一起做很甜的梦!》
  • sqlite3 学习笔记
  • 数据分箱 baggingboosting onehot独热编码 woe编码 sklearn的ensemble(集成学习)
  • python:taichi 高性能可视化 Demo 展览
  • 基于SpringBoot的母婴护理知识共享管理系统
  • 代码随想录算法【Day32】
  • Go中的Context(上下文)
  • ESP8266基于WiFiManager设置页面添加参数并且掉电不丢失
  • GIT管理指令
  • Object类(1)
  • Qt Enter和HoverEnter事件
  • 硬件学习笔记--36 TTL、RS232、RS485相关介绍
  • Linux相关概念和易错知识点(26)(命名管道、共享内存)
  • PostGIS笔记:PostgreSQL 数据库与用户 基础操作
  • 使用ensp进行ppp协议综合实验