* feat: add daily-rotating file logger for dev scripts (issue #815)
Add winston + winston-daily-rotate-file to write all dev-server log
output to logs/agent-canvas.YYYY-MM-DD.log alongside the existing
console output (which is unchanged).
- scripts/logger.mjs — shared module; exports fileLog(level, msg)
and stripAnsi(str). DailyRotateFile transport stores files in
logs/ relative to the project root, rotates at midnight, and
auto-deletes files older than 7 days.
- scripts/dev-with-automation.mjs — logService / logStep /
logSuccess / logError each call fileLog as a side-channel. The
shutdown message, startup title, checkPrerequisites uvx-error, and
printBanner summary are also captured.
- scripts/dev-safe.mjs — spawnProcess errors, main() startup lines,
the unexpected-exit error, and the fatal-error handler all call
fileLog.
- logs/ was already in .gitignore.
Co-authored-by: openhands <openhands@all-hands.dev>
* fix: store log files in agent-canvas state dir, not project root
Use OH_CANVAS_SAFE_STATE_DIR (or ~/.openhands/agent-canvas as
the default) to match where all other agent-canvas runtime state
lives, e.g. ~/.openhands/agent-canvas/logs/agent-canvas.YYYY-MM-DD.log
Co-authored-by: openhands <openhands@all-hands.dev>
---------
Co-authored-by: openhands <openhands@all-hands.dev>