讲师中心 微信公众号
AI工具推荐 视频效率加速

如何为Hermes Agent添加操作日志 Hermes Agent操作日志记录方法

陌墨君_8089

陌墨君_8089

发布时间:2026-04-14 16:35:44

|

614人浏览过

|

来源于php中文网

原创

需配置可持久化、结构化日志机制:一、启用Log4j2并配置RollingFile Appender与指定Logger;二、在ActionHandler中用MDC注入traceId/actionType;三、对接ELK,用Filebeat采集并结构化日志;四、通过Spring AOP切面统一记录执行详情;五、写入数据库t_operation_log表保障可靠性。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如何为hermes agent添加操作日志 hermes agent操作日志记录方法

如果您希望在Hermes Agent运行过程中追踪其执行动作、命令调用与状态变更,则需为其配置可持久化、结构化的操作日志记录机制。以下是实现该目标的多种具体方法:

一、启用内置日志模块并配置Log4j2

Hermes Agent默认集成Log4j2作为日志框架,可通过修改配置文件激活操作级日志输出,捕获任务调度、插件调用及HTTP请求等关键行为。

1、定位Hermes Agent安装目录下的conf/log4j2.xml文件。

2、在<Appenders>节点内添加RollingFile Appender,指定日志路径为logs/hermes-agent-operation.log。

3、在<Loggers>节点中新增Logger,设置name="com.hermes.agent.core.executor",并将level设为INFO。

4、确保该Logger引用前述RollingFile Appender,并将additivity设为false以避免重复输出。

5、重启Hermes Agent服务使配置生效,操作日志将按时间滚动写入指定文件。

二、在ActionHandler中嵌入MDC上下文标记

通过MDC(Mapped Diagnostic Context)为每次操作注入唯一追踪ID与操作类型,使日志条目具备可关联性与可筛选性,便于故障回溯与审计分析。

1、在任务入口类(如TaskExecutionHandler)的execute()方法起始处插入MDC.put("traceId", UUID.randomUUID().toString())。

2、调用MDC.put("actionType", task.getMetadata().getAction())记录当前执行动作类型。

3、在log4j2.xml的PatternLayout中更新日志格式,加入%X{traceId} %X{actionType}字段。

4、在finally块中调用MDC.clear(),防止线程复用导致上下文污染。

三、对接外部日志收集系统(如ELK)

将操作日志实时推送至Elasticsearch,结合Logstash或Filebeat完成采集、过滤与结构化,支持高并发场景下的集中式检索与可视化。

1、在Hermes Agent所在服务器部署Filebeat,配置filebeat.inputs指向logs/hermes-agent-operation.log。

2、在Filebeat的processors中添加dissect处理器,按固定分隔符提取timestamp、level、traceId、actionType等字段。

Hermes Agent
Hermes Agent

将OpenClaw打造为具备种子工作空间规则、技能提升、反思记忆和主动维护的学习循环智能体。

下载

3、配置output.elasticsearch指向目标ES集群地址,并设置索引前缀为hermes-agent-operation-。

4、启动Filebeat服务,验证Elasticsearch中是否出现带有actionType字段的文档。

四、通过AOP切面统一拦截操作方法

利用Spring AOP对所有继承自BaseAction的执行方法进行环绕通知,在不侵入业务逻辑的前提下自动记录入参、耗时与结果状态。

1、定义切点表达式@Pointcut("execution(* com.hermes.agent.action..*Action.execute(..))")。

2、在@Around通知中获取方法签名、参数值与执行开始时间。

3、执行目标方法后,捕获返回值或异常,构造包含methodName、params、durationMs、status的JSON字符串。

4、调用Logger.info()输出该JSON,并确保日志级别为INFO且独立于普通调试日志。

5、确认切面类已添加@Aspect与@Component注解,并被Spring容器管理。

五、启用数据库持久化日志表

将高频关键操作(如任务触发、权限校验失败、插件加载异常)写入MySQL或PostgreSQL中的t_operation_log表,保障日志不因服务中断而丢失。

1、在数据库中创建表结构,包含字段:id(BIGINT AUTO_INCREMENT)、trace_id(VARCHAR(36))、action_type(VARCHAR(64))、status(TINYINT)、params_json(TEXT)、created_at(DATETIME DEFAULT CURRENT_TIMESTAMP)。

2、引入spring-jdbc依赖,在OperationLogService中封装JdbcTemplate.update()插入逻辑。

3、在各核心操作链路末尾(如TaskScheduler.trigger()返回前)调用该服务,传入必要字段。

4、设置数据库连接池最大活跃数不低于5,避免日志写入阻塞主流程。

5、对params_json字段内容执行StringEscapeUtils.escapeJson()处理,防止SQL注入与JSON解析异常。

热门AI工具

更多
WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
Hermes Agent完整设置指南教程
Hermes Agent完整设置指南教程

此专题为您提供 HermesAgent最新、最全面的设置指南。内容涵盖从一键安装、模型配置(支持阿里云百炼等)到微信、钉钉等全平台接入的完整流程。无论您是新手还是进阶用户,都能在这里找到清晰的步骤说明与常见问题解答,助您快速部署并掌握这款能自我进化的AI代理,轻松开启智能化工作流。

592

2026.04.13

Hermes Agent完整部署教程
Hermes Agent完整部署教程

本专题聚焦开源AI智能体Hermes Agent,提供从入门到精通的完整部署教程。作为会“自我进化”的AI助手,它支持本地及云端私有化部署,具备持久记忆与技能自动沉淀能力。无论你是开发者还是效率追求者,这里都将助你快速搭建专属的“数字伙伴”,实现AI自主执行复杂任务,让工作效率倍增。

434

2026.04.13

HermesAgent下载安装完整教程
HermesAgent下载安装完整教程

本专区为您提供 HermesAgent最全面的安装与部署指南。作为由NousResearch推出的“可成长”AI智能体,Hermes支持Linux、macOS及WSL2环境。我们汇集了从官方推荐的一键脚本安装、手动源码部署,到Docker及云服务器(如腾讯云Lighthouse)搭建的保姆级教程。无论您是新手还是开发者,都能在此找到详细的配置步骤,助您快速拥有这位具备持久记忆与自我进化能力的AI助手。

337

2026.04.13

Hermes Agent使用指南汇总
Hermes Agent使用指南汇总

本专题将带你从零开始,全面掌握Hermes Agent的安装部署、核心配置、技能扩展与生态整合,无论你是想打造专属私人助手,还是探索AI自动化变现路径,这里都有最实用的实战指南。

509

2026.05.06

OpenJDK JVM参数怎么调优
OpenJDK JVM参数怎么调优

Java应用运行缓慢,如何调整JVM参数?本专题介绍OpenJDK JVM性能调优的基本流程,涵盖性能指标确认、运行数据采集、内存配置和垃圾回收分析,帮助你先定位瓶颈,再通过对照测试验证效果,避免直接套用参数而影响应用稳定性。

20

2026.10.16

OpenJDK怎么配置Java开发环境
OpenJDK怎么配置Java开发环境

怎样用OpenJDK搭建开发环境?本专题介绍版本选择、下载安装、环境变量配置和编译运行验证,帮助你理清JDK的作用及基本配置流程,并通过简单程序检查环境是否可用,为后续项目开发做好准备。

20

2026.10.16

OpenJDK怎么部署Java应用
OpenJDK怎么部署Java应用

Java项目开发完成后,怎样部署到目标环境并正常运行?本专题介绍OpenJDK应用部署流程,涵盖运行环境准备、版本兼容检查、应用打包、启动参数配置和日志查看,帮助你理清部署前后的操作顺序,减少环境差异造成的运行问题。

0

2026.10.16

Revel框架模板渲染与表单验证
Revel框架模板渲染与表单验证

本专题围绕Revel框架视图层开发,介绍模板语法、变量输出、布局复用、表单提交、参数绑定与验证规则,帮助开发者完成安全规范的页面交互。

20

2026.10.16

Revel框架MVC路由与控制器
Revel框架MVC路由与控制器

本专题聚焦Revel框架MVC核心机制,讲解路由定义、控制器Action、参数绑定、请求响应和反向路由,并结合常见场景梳理接口请求处理流程。

20

2026.10.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Hermes Agent中文文档
Hermes Agent中文文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn