diff options
-rw-r--r-- | logger.go | 8 | ||||
-rw-r--r-- | main.go | 13 | ||||
-rw-r--r-- | uapi.go | 1 |
3 files changed, 16 insertions, 6 deletions
@@ -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, @@ -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, }, @@ -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 { |