Logs
18.5. Logs — Watching and Analyzing System Logs
Periodic log checks, alert only on anomalies
hermes cron create "*/15 * * * *" \
"Check ~/.hermes/logs/errors.log for new errors in the last 15 minutes. If there is a serious error, alert immediately with the relevant excerpt. If not, [SILENT]." \
--no-agent --script check_errors.sh
Key log locations to know
When a job fails, error information is usually in two places: the chat channel where the job delivers its results (if delivery succeeded but the content is wrong), and ~/.hermes/logs/agent.log for scheduler messages (or errors.log for more detailed errors) — this is exactly the natural data source for a meta log-monitoring job, watching the health of the cron system itself.
Notes
- For plain error logs (clear patterns, no reasoning needed), use
--no-agent --script— grepping for known error patterns does not need an LLM to “read and understand”. - A log-monitoring job is a good early-detection tool when another cron job gets stuck in
blocked_config— this state only sends the alert once (not repeated on every tick), so if you miss that notification, a periodic log-monitoring job helps catch the problem. - Do not let the log-monitoring job itself become a source of log noise — keep the alert threshold high enough (serious errors only) to avoid a loop of alerts about the monitoring itself.