Signed-off-by: oppiliappan me@oppi.li
+14
-10
spindle/models/logger.go
+14
-10
spindle/models/logger.go
···
9
"strings"
10
)
11
12
-
type WorkflowLogger struct {
13
file *os.File
14
encoder *json.Encoder
15
mask *SecretMask
16
}
17
18
-
func NewWorkflowLogger(baseDir string, wid WorkflowId, secretValues []string) (*WorkflowLogger, error) {
19
path := LogFilePath(baseDir, wid)
20
-
21
file, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
22
if err != nil {
23
return nil, fmt.Errorf("creating log file: %w", err)
24
}
25
-
26
-
return &WorkflowLogger{
27
file: file,
28
encoder: json.NewEncoder(file),
29
mask: NewSecretMask(secretValues),
···
35
return logFilePath
36
}
37
38
-
func (l *WorkflowLogger) Close() error {
39
return l.file.Close()
40
}
41
42
-
func (l *WorkflowLogger) DataWriter(idx int, stream string) io.Writer {
43
return &dataWriter{
44
logger: l,
45
idx: idx,
···
47
}
48
}
49
50
-
func (l *WorkflowLogger) ControlWriter(idx int, step Step, stepStatus StepStatus) io.Writer {
51
return &controlWriter{
52
logger: l,
53
idx: idx,
···
57
}
58
59
type dataWriter struct {
60
-
logger *WorkflowLogger
61
idx int
62
stream string
63
}
···
75
}
76
77
type controlWriter struct {
78
-
logger *WorkflowLogger
79
idx int
80
step Step
81
stepStatus StepStatus
···
9
"strings"
10
)
11
12
+
type WorkflowLogger interface {
13
+
Close() error
14
+
DataWriter(idx int, stream string) io.Writer
15
+
ControlWriter(idx int, step Step, stepStatus StepStatus) io.Writer
16
+
}
17
+
18
+
type FileWorkflowLogger struct {
19
file *os.File
20
encoder *json.Encoder
21
mask *SecretMask
22
}
23
24
+
func NewFileWorkflowLogger(baseDir string, wid WorkflowId, secretValues []string) (*FileWorkflowLogger, error) {
25
path := LogFilePath(baseDir, wid)
26
file, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0644)
27
if err != nil {
28
return nil, fmt.Errorf("creating log file: %w", err)
29
}
30
+
return &FileWorkflowLogger{
31
file: file,
32
encoder: json.NewEncoder(file),
33
mask: NewSecretMask(secretValues),
···
39
return logFilePath
40
}
41
42
+
func (l *FileWorkflowLogger) Close() error {
43
return l.file.Close()
44
}
45
46
+
func (l *FileWorkflowLogger) DataWriter(idx int, stream string) io.Writer {
47
return &dataWriter{
48
logger: l,
49
idx: idx,
···
51
}
52
}
53
54
+
func (l *FileWorkflowLogger) ControlWriter(idx int, step Step, stepStatus StepStatus) io.Writer {
55
return &controlWriter{
56
logger: l,
57
idx: idx,
···
61
}
62
63
type dataWriter struct {
64
+
logger *FileWorkflowLogger
65
idx int
66
stream string
67
}
···
79
}
80
81
type controlWriter struct {
82
+
logger *FileWorkflowLogger
83
idx int
84
step Step
85
stepStatus StepStatus
History
1 round
0 comments
oppi.li
submitted
#0
1 commit
expand
collapse
spindle/models: interface-ify WorkflowLogger
Signed-off-by: oppiliappan <me@oppi.li>
2/3 failed, 1/3 success
expand
collapse
expand 0 comments
pull request successfully merged