Optional logging even in background

This commit is contained in:
Jason A. Donenfeld 2018-05-14 03:38:06 +02:00
parent e75d2d4496
commit c1e097d6d0
3 changed files with 16 additions and 6 deletions

View file

@ -13,7 +13,8 @@ import (
)
const (
LogLevelError = iota
LogLevelSilent = iota
LogLevelError
LogLevelInfo
LogLevelDebug
)
@ -35,7 +36,10 @@ func NewLogger(level int, prepend string) *Logger {
if level >= LogLevelInfo {
return output, output, ioutil.Discard
}
return output, ioutil.Discard, ioutil.Discard
if level >= LogLevelError {
return output, ioutil.Discard, ioutil.Discard
}
return ioutil.Discard, ioutil.Discard, ioutil.Discard
}()
logger.Debug = log.New(logDebug,

13
main.go
View file

@ -111,6 +111,8 @@ func main() {
return LogLevelInfo
case "error":
return LogLevelError
case "silent":
return LogLevelSilent
}
return LogLevelInfo
}()
@ -183,11 +185,16 @@ func main() {
env = append(env, fmt.Sprintf("%s=3", ENV_WG_TUN_FD))
env = append(env, fmt.Sprintf("%s=4", ENV_WG_UAPI_FD))
env = append(env, fmt.Sprintf("%s=1", ENV_WG_PROCESS_FOREGROUND))
files := [3]*os.File{}
if os.Getenv("LOG_LEVEL") != "" {
files[1] = os.Stdout
files[2] = os.Stderr
}
attr := &os.ProcAttr{
Files: []*os.File{
nil, // stdin
nil, // stdout
nil, // stderr
files[0], // stdin
files[1], // stdout
files[2], // stderr
tun.File(),
fileUAPI,
},

View file

@ -235,7 +235,6 @@ func ipcSetOperation(device *Device, socket *bufio.ReadWriter) *IPCError {
dummy = device.staticIdentity.publicKey.Equals(publicKey)
device.staticIdentity.mutex.RUnlock()
if dummy {
peer = &Peer{}
} else {