From b357cabcb9deed6bd912edf9ed79f60a1a2e01dc Mon Sep 17 00:00:00 2001 From: Matt McKenna Date: Wed, 11 Feb 2026 18:53:27 -0500 Subject: [PATCH] Add log rotation to prevent unbounded growth of prism-hooks.log Rotates the log file at 10MB, keeping one .old backup. This prevents the hook log from consuming excessive disk space over time. Co-Authored-By: Claude Opus 4.6 --- internal/hooks/hooks.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/hooks/hooks.go b/internal/hooks/hooks.go index 763736c..9439ab4 100644 --- a/internal/hooks/hooks.go +++ b/internal/hooks/hooks.go @@ -36,6 +36,13 @@ func NewManager() *Manager { // logHook writes hook invocation details to the log file func (m *Manager) logHook(hookType string, input Input, rawInput []byte) { + const maxLogSize = 10 * 1024 * 1024 // 10 MB + + // Rotate log if it exceeds max size + if info, err := os.Stat(m.logFile); err == nil && info.Size() > maxLogSize { + os.Rename(m.logFile, m.logFile+".old") + } + f, err := os.OpenFile(m.logFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { return // Silently fail - don't break hooks for logging