@@ -33,13 +33,13 @@ func initAuditLog() {
3333 _ = os .MkdirAll (filepath .Dir (auditLogPath ), 0o755 )
3434}
3535
36- func logAudit (toolName string , args map [string ]interface {}, result string ) {
36+ func logAudit (toolName string , args map [string ]interface {}, result string ) error {
3737 if auditLogPath == "" {
38- return
38+ return nil
3939 }
4040 f , err := os .OpenFile (auditLogPath , os .O_CREATE | os .O_WRONLY | os .O_APPEND , 0o600 )
4141 if err != nil {
42- return
42+ return fmt . Errorf ( "open audit log: %w" , err )
4343 }
4444 defer f .Close ()
4545
@@ -58,10 +58,15 @@ func logAudit(toolName string, args map[string]interface{}, result string) {
5858 }
5959 line , err := json .Marshal (entry )
6060 if err != nil {
61- return
61+ return fmt .Errorf ("marshal audit entry: %w" , err )
62+ }
63+ if _ , err := f .Write (line ); err != nil {
64+ return fmt .Errorf ("write audit entry: %w" , err )
65+ }
66+ if _ , err := f .Write ([]byte {'\n' }); err != nil {
67+ return fmt .Errorf ("write audit newline: %w" , err )
6268 }
63- f .Write (line ) //nolint:errcheck
64- f .Write ([]byte {'\n' }) //nolint:errcheck
69+ return nil
6570}
6671
6772// ---------------------------------------------------------------------------
@@ -98,8 +103,9 @@ func loadSession(name string) ([]iteragent.Message, error) {
98103 }
99104 var msgs []iteragent.Message
100105 if err := json .Unmarshal (data , & msgs ); err != nil {
101- // Try .bak file if primary is corrupt.
102- if bakData , bakErr := os .ReadFile (path + ".bak" ); bakErr == nil {
106+ // Attempt to restore from .bak file
107+ bakData , bakErr := os .ReadFile (path + ".bak" )
108+ if bakErr == nil {
103109 var bakMsgs []iteragent.Message
104110 if json .Unmarshal (bakData , & bakMsgs ) == nil {
105111 return bakMsgs , nil
@@ -201,3 +207,23 @@ func maybeNotify() {
201207// ---------------------------------------------------------------------------
202208// /debug — toggle debug logging
203209// ---------------------------------------------------------------------------
210+
211+ func toggleDebugLogging () bool {
212+ if _ , ok := os .LookupEnv ("ITERATE_DEBUG" ); ok {
213+ os .Unsetenv ("ITERATE_DEBUG" )
214+ return false
215+ }
216+ os .Setenv ("ITERATE_DEBUG" , "1" )
217+ return true
218+ }
219+
220+ func isDebugLogging () bool {
221+ _ , ok := os .LookupEnv ("ITERATE_DEBUG" )
222+ return ok
223+ }
224+
225+ func debugLog (msg string , args ... interface {}) {
226+ if isDebugLogging () {
227+ fmt .Fprintf (os .Stderr , "[debug] " + msg + "\n " , args ... )
228+ }
229+ }
0 commit comments