Skip to content

Commit ff29487

Browse files
authored
Merge pull request #637 from ghjm/pluggable_logger
Allow routing Receptor logs to another logger
2 parents b6c3f6d + 7048d12 commit ff29487

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

pkg/logger/logger.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,17 @@ var logLevelMap = map[string]int{
7676
"debug": DebugLevel,
7777
}
7878

79+
type MessageFunc func(level int, format string, v ...interface{})
80+
81+
var logger MessageFunc
82+
7983
// Log sends a log message at a given level.
8084
func Log(level int, format string, v ...interface{}) {
85+
if logger != nil {
86+
logger(level, format, v...)
87+
88+
return
89+
}
8190
var prefix string
8291
logLevelName, err := LogLevelToName(level)
8392
if err != nil {
@@ -92,6 +101,11 @@ func Log(level int, format string, v ...interface{}) {
92101
}
93102
}
94103

104+
// RegisterLogger registers a function for log delivery.
105+
func RegisterLogger(msgFunc MessageFunc) {
106+
logger = msgFunc
107+
}
108+
95109
// Error reports unexpected behavior, likely to result in termination.
96110
func Error(format string, v ...interface{}) {
97111
Log(ErrorLevel, format, v...)

0 commit comments

Comments
 (0)