mirror of
https://github.com/netbirdio/netbird.git
synced 2026-05-02 07:06:41 +00:00
[client] Change default rosenpass log level (#5137)
* Change default rosenpass log level - Add support to environment configuration - Change default log level to info * use .String() for print log level
This commit is contained in:
@@ -17,6 +17,11 @@ import (
|
|||||||
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
"golang.zx2c4.com/wireguard/wgctrl/wgtypes"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
defaultLog = slog.LevelInfo
|
||||||
|
defaultLogLevelVar = "NB_ROSENPASS_LOG_LEVEL"
|
||||||
|
)
|
||||||
|
|
||||||
func hashRosenpassKey(key []byte) string {
|
func hashRosenpassKey(key []byte) string {
|
||||||
hasher := sha256.New()
|
hasher := sha256.New()
|
||||||
hasher.Write(key)
|
hasher.Write(key)
|
||||||
@@ -45,7 +50,7 @@ func NewManager(preSharedKey *wgtypes.Key, wgIfaceName string) (*Manager, error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
rpKeyHash := hashRosenpassKey(public)
|
rpKeyHash := hashRosenpassKey(public)
|
||||||
log.Debugf("generated new rosenpass key pair with public key %s", rpKeyHash)
|
log.Tracef("generated new rosenpass key pair with public key %s", rpKeyHash)
|
||||||
return &Manager{ifaceName: wgIfaceName, rpKeyHash: rpKeyHash, spk: public, ssk: secret, preSharedKey: (*[32]byte)(preSharedKey), rpPeerIDs: make(map[string]*rp.PeerID), lock: sync.Mutex{}}, nil
|
return &Manager{ifaceName: wgIfaceName, rpKeyHash: rpKeyHash, spk: public, ssk: secret, preSharedKey: (*[32]byte)(preSharedKey), rpPeerIDs: make(map[string]*rp.PeerID), lock: sync.Mutex{}}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,7 +106,7 @@ func (m *Manager) removePeer(wireGuardPubKey string) error {
|
|||||||
|
|
||||||
func (m *Manager) generateConfig() (rp.Config, error) {
|
func (m *Manager) generateConfig() (rp.Config, error) {
|
||||||
opts := &slog.HandlerOptions{
|
opts := &slog.HandlerOptions{
|
||||||
Level: slog.LevelDebug,
|
Level: getLogLevel(),
|
||||||
}
|
}
|
||||||
logger := slog.New(slog.NewTextHandler(os.Stdout, opts))
|
logger := slog.New(slog.NewTextHandler(os.Stdout, opts))
|
||||||
cfg := rp.Config{Logger: logger}
|
cfg := rp.Config{Logger: logger}
|
||||||
@@ -133,6 +138,26 @@ func (m *Manager) generateConfig() (rp.Config, error) {
|
|||||||
return cfg, nil
|
return cfg, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getLogLevel() slog.Level {
|
||||||
|
level, ok := os.LookupEnv(defaultLogLevelVar)
|
||||||
|
if !ok {
|
||||||
|
return defaultLog
|
||||||
|
}
|
||||||
|
switch strings.ToLower(level) {
|
||||||
|
case "debug":
|
||||||
|
return slog.LevelDebug
|
||||||
|
case "info":
|
||||||
|
return slog.LevelInfo
|
||||||
|
case "warn":
|
||||||
|
return slog.LevelWarn
|
||||||
|
case "error":
|
||||||
|
return slog.LevelError
|
||||||
|
default:
|
||||||
|
log.Warnf("unknown log level: %s. Using default %s", level, defaultLog.String())
|
||||||
|
return defaultLog
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (m *Manager) OnDisconnected(peerKey string) {
|
func (m *Manager) OnDisconnected(peerKey string) {
|
||||||
m.lock.Lock()
|
m.lock.Lock()
|
||||||
defer m.lock.Unlock()
|
defer m.lock.Unlock()
|
||||||
|
|||||||
Reference in New Issue
Block a user