-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgo_logger.go
44 lines (38 loc) · 998 Bytes
/
go_logger.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
package logus
import (
"context"
"fmt"
"log"
)
func NewStandardGoLogger() LogEntryHandler {
return goLogger{}
}
var logPrintf = log.Printf
var _ LogEntryHandler = (*goLogger)(nil)
type goLogger struct {
}
func (s goLogger) Log(_ context.Context, entry LogEntry) error {
var severity string
if int(entry.Severity) < len(SeverityNames) {
severity = SeverityNames[entry.Severity]
} else {
severity = fmt.Sprintf("SEVERITY%d", entry.Severity)
if entry.Component == "" {
logPrintf("WARNING: unknown log arg severity: %d", entry.Severity)
} else {
logPrintf("WARNING: %s: unknown log arg severity: %d", entry.Component, entry.Severity)
}
}
var message string
if len(entry.MessageArgs) == 0 {
message = entry.MessageFormat
} else {
message = fmt.Sprintf(entry.MessageFormat, entry.MessageArgs...)
}
if entry.Component == "" {
logPrintf("%s: %s", severity, message)
} else {
logPrintf("%s: Component=%s: %s", severity, entry.Component, message)
}
return nil
}