fix(codeagent-wrapper): 异常退出时显示最近错误信息

- 添加 Logger.ExtractRecentErrors() 方法提取最近 ERROR/WARN 日志
- 修改退出逻辑:失败时先输出错误再删除日志文件

Closes #56

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
swe-agent[bot]
2025-12-12 14:25:22 +08:00
parent 7231c6d2c4
commit b2e3f416bc
2 changed files with 40 additions and 1 deletions

View File

@@ -141,8 +141,17 @@ func run() (exitCode int) {
if err := closeLogger(); err != nil {
fmt.Fprintf(os.Stderr, "ERROR: failed to close logger: %v\n", err)
}
// Always remove log file after completion
// On failure, extract and display recent errors before removing log
if logger != nil {
if exitCode != 0 {
if errors := logger.ExtractRecentErrors(10); len(errors) > 0 {
fmt.Fprintln(os.Stderr, "\n=== Recent Errors ===")
for _, entry := range errors {
fmt.Fprintln(os.Stderr, entry)
}
fmt.Fprintf(os.Stderr, "Log file: %s (deleted)\n", logger.Path())
}
}
if err := logger.RemoveLogFile(); err != nil && !os.IsNotExist(err) {
// Silently ignore removal errors
}