summaryrefslogtreecommitdiffhomepage
path: root/log
diff options
context:
space:
mode:
Diffstat (limited to 'log')
-rw-r--r--log/filelogger/log.go19
1 files changed, 10 insertions, 9 deletions
diff --git a/log/filelogger/log.go b/log/filelogger/log.go
index f8c4da65b..ef3ad1e9f 100644
--- a/log/filelogger/log.go
+++ b/log/filelogger/log.go
@@ -9,6 +9,7 @@ package filelogger
import (
"bytes"
"fmt"
+ "io"
"io/ioutil"
"log"
"os"
@@ -26,30 +27,30 @@ const (
maxFiles = 50
)
-// New returns a logf wrapper that appends to local disk log
+// New returns a Writer that appends to local disk log
// files on Windows, rotating old log files as needed to stay under
// file count & byte limits.
-func New(fileBasePrefix, logID string, logf logger.Logf) logger.Logf {
+func New(fileBasePrefix, logID string, inner *log.Logger) io.Writer {
if runtime.GOOS != "windows" {
panic("not yet supported on any platform except Windows")
}
- if logf == nil {
- panic("nil logf")
+ if inner == nil {
+ panic("nil inner logger")
}
dir := filepath.Join(os.Getenv("ProgramData"), "Tailscale", "Logs")
if err := os.MkdirAll(dir, 0700); err != nil {
- log.Printf("failed to create local log directory; not writing logs to disk: %v", err)
- return logf
+ inner.Printf("failed to create local log directory; not writing logs to disk: %v", err)
+ return inner.Writer()
}
- logf("local disk logdir: %v", dir)
+ inner.Printf("local disk logdir: %v", dir)
lfw := &logFileWriter{
fileBasePrefix: fileBasePrefix,
logID: logID,
dir: dir,
- wrappedLogf: logf,
+ wrappedLogf: inner.Printf,
}
- return lfw.Logf
+ return logger.FuncWriter(lfw.Logf)
}
// logFileWriter is the state for the log writer & rotator.