Skip to content

Commit ca0e8fd

Browse files
committed
Add logging redirection
1 parent 8c2f39e commit ca0e8fd

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

logging.go

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package tracelog
33
import (
44
"fmt"
55
"github.com/pkg/errors"
6+
"io"
67
"io/ioutil"
78
"log"
89
"os"
@@ -12,12 +13,17 @@ const (
1213
NormalLogLevel = "NORMAL"
1314
DevelLogLevel = "DEVEL"
1415
timeFlags = log.LstdFlags | log.Lmicroseconds
16+
17+
infoPrefix = "INFO: "
18+
warningPrefix = "WARNING: "
19+
errorPrefix = "ERROR: "
20+
debugPrefix = "DEBUG: "
1521
)
1622

17-
var InfoLogger = NewErrorLogger(os.Stdout, "INFO: ")
18-
var WarningLogger = NewErrorLogger(os.Stdout, "WARNING: ")
19-
var ErrorLogger = NewErrorLogger(os.Stderr, "ERROR: ")
20-
var DebugLogger = NewErrorLogger(ioutil.Discard, "DEBUG: ")
23+
var InfoLogger = NewErrorLogger(os.Stdout, infoPrefix)
24+
var WarningLogger = NewErrorLogger(os.Stdout, warningPrefix)
25+
var ErrorLogger = NewErrorLogger(os.Stderr, errorPrefix)
26+
var DebugLogger = NewErrorLogger(ioutil.Discard, debugPrefix)
2127

2228
var LogLevels = []string{NormalLogLevel, DevelLogLevel}
2329
var logLevel = NormalLogLevel
@@ -28,9 +34,9 @@ var logLevelFormatters = map[string]string{
2834

2935
func setupLoggers() {
3036
if logLevel == NormalLogLevel {
31-
DebugLogger = NewErrorLogger(ioutil.Discard, "DEBUG: ")
37+
DebugLogger = NewErrorLogger(ioutil.Discard, debugPrefix)
3238
} else {
33-
DebugLogger = NewErrorLogger(os.Stdout, "DEBUG: ")
39+
DebugLogger = NewErrorLogger(os.Stdout, debugPrefix)
3440
}
3541
}
3642

@@ -65,3 +71,10 @@ func UpdateLogLevel(newLevel string) error {
6571
setupLoggers()
6672
return nil
6773
}
74+
75+
func RedirectLogging(infoWriter, warningWriter, errorWriter, debugWriter io.Writer) {
76+
InfoLogger = NewErrorLogger(infoWriter, infoPrefix)
77+
WarningLogger = NewErrorLogger(warningWriter, warningPrefix)
78+
ErrorLogger = NewErrorLogger(errorWriter, errorPrefix)
79+
DebugLogger = NewErrorLogger(debugWriter, debugPrefix)
80+
}

0 commit comments

Comments
 (0)