Skip to content

Commit d61beeb

Browse files
committed
feat: Improve task error message
1 parent bd1ae51 commit d61beeb

1 file changed

Lines changed: 13 additions & 4 deletions

File tree

alteriso/src/internal/archiso/profile_gen.go

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,11 @@ package archiso
22

33
import (
44
"encoding/json"
5+
"log/slog"
56
"os"
67
"path"
8+
"reflect"
9+
"runtime"
710

811
"github.com/FascodeNet/alterlinux/src/internal/errors"
912
"github.com/Hayao0819/nahi/cputils"
@@ -78,11 +81,16 @@ func (p *Profile) copySplashImage(outDir string) error {
7881
return nil
7982
}
8083

84+
func funcName(i interface{}) string {
85+
v := reflect.ValueOf(i)
86+
p := v.Pointer()
87+
88+
return runtime.FuncForPC(p).Name()
89+
}
90+
8191
func (p *Profile) GenArchisoProfile(outDir string) error {
8292
tempDir, err := os.MkdirTemp(os.TempDir(), "alteriso-*")
83-
defer func() {
84-
_ = os.RemoveAll(tempDir)
85-
}()
93+
defer os.RemoveAll(tempDir)
8694
if err != nil {
8795
return errors.Wrap(err)
8896
}
@@ -100,7 +108,8 @@ func (p *Profile) GenArchisoProfile(outDir string) error {
100108

101109
for _, task := range tasks {
102110
if err := task(tempDir); err != nil {
103-
return err
111+
slog.Error("Failed to execute task", "task", funcName(task), "error", err)
112+
return errors.Wrap(err)
104113
}
105114
}
106115

0 commit comments

Comments
 (0)