From 9a62a09f40fd2566457ddba89bbc261ffbc83d69 Mon Sep 17 00:00:00 2001 From: eyedeekay Date: Mon, 26 May 2025 23:27:42 -0400 Subject: [PATCH] get away from logrus --- common/log.go | 11 ++++------ datagram/log.go | 9 ++------ go.mod | 9 ++------ go.sum | 4 ++-- log.go | 49 ++---------------------------------------- log/log.go | 50 ------------------------------------------- primary/log.go | 11 ++++------ sam3.go | 4 ---- stream/log.go | 11 ++++------ stream/stream_test.go | 23 +++++++++++++------- suggestedOptions.go | 1 - 11 files changed, 35 insertions(+), 147 deletions(-) diff --git a/common/log.go b/common/log.go index a08b612c..4b150aff 100644 --- a/common/log.go +++ b/common/log.go @@ -1,10 +1,7 @@ package common -import logger "github.com/go-i2p/go-sam-go/log" +import ( + "github.com/go-i2p/logger" +) -var log = logger.GetSAM3Logger() - -func init() { - logger.InitializeSAM3Logger() - log = logger.GetSAM3Logger() -} +var log = logger.GetGoI2PLogger() diff --git a/datagram/log.go b/datagram/log.go index a1ea7128..e62bde8c 100644 --- a/datagram/log.go +++ b/datagram/log.go @@ -1,10 +1,5 @@ package datagram -import logger "github.com/go-i2p/go-sam-go/log" +import "github.com/go-i2p/logger" -var log = logger.GetSAM3Logger() - -func init() { - logger.InitializeSAM3Logger() - log = logger.GetSAM3Logger() -} +var log = logger.GetGoI2PLogger() diff --git a/go.mod b/go.mod index b3b39ff4..741118b5 100644 --- a/go.mod +++ b/go.mod @@ -4,13 +4,8 @@ go 1.23.5 require ( github.com/go-i2p/i2pkeys v0.33.92 + github.com/go-i2p/logger v0.0.0-20241123010126-3050657e5d0c github.com/sirupsen/logrus v1.9.3 - github.com/stretchr/testify v1.7.0 ) -require ( - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect - golang.org/x/sys v0.30.0 // indirect - gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect -) +require golang.org/x/sys v0.30.0 // indirect diff --git a/go.sum b/go.sum index 389e943c..70135d90 100644 --- a/go.sum +++ b/go.sum @@ -3,6 +3,8 @@ github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/go-i2p/i2pkeys v0.33.92 h1:e2vx3vf7tNesaJ8HmAlGPOcfiGM86jzeIGxh27I9J2Y= github.com/go-i2p/i2pkeys v0.33.92/go.mod h1:BRURQ/twxV0WKjZlFSKki93ivBi+MirZPWudfwTzMpE= +github.com/go-i2p/logger v0.0.0-20241123010126-3050657e5d0c h1:VTiECn3dFEmUlZjto+wOwJ7SSJTHPLyNprQMR5HzIMI= +github.com/go-i2p/logger v0.0.0-20241123010126-3050657e5d0c/go.mod h1:te7Zj3g3oMeIl8uBXAgO62UKmZ6m6kHRNg1Mm+X8Hzk= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= @@ -10,11 +12,9 @@ github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVs github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8 h1:0A+M6Uqn+Eje4kHMK80dtF3JCXC4ykBgQG4Fe06QRhQ= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc= golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/log.go b/log.go index bb8616a3..c373c714 100644 --- a/log.go +++ b/log.go @@ -1,52 +1,7 @@ -// package sam3 wraps the original sam3 API from github.com/go-i2p/sam3 package sam3 import ( - "io/ioutil" - "os" - "strings" - "sync" - - "github.com/sirupsen/logrus" + "github.com/go-i2p/logger" ) -var ( - log *logrus.Logger - once sync.Once -) - -func InitializeSAM3Logger() { - once.Do(func() { - log = logrus.New() - // We do not want to log by default - log.SetOutput(ioutil.Discard) - log.SetLevel(logrus.PanicLevel) - // Check if DEBUG_I2P is set - if logLevel := os.Getenv("DEBUG_I2P"); logLevel != "" { - log.SetOutput(os.Stdout) - switch strings.ToLower(logLevel) { - case "debug": - log.SetLevel(logrus.DebugLevel) - case "warn": - log.SetLevel(logrus.WarnLevel) - case "error": - log.SetLevel(logrus.ErrorLevel) - default: - log.SetLevel(logrus.DebugLevel) - } - log.WithField("level", log.GetLevel()).Debug("Logging enabled.") - } - }) -} - -// GetSAM3Logger returns the initialized logger -func GetSAM3Logger() *logrus.Logger { - if log == nil { - InitializeSAM3Logger() - } - return log -} - -func init() { - InitializeSAM3Logger() -} +var log = logger.GetGoI2PLogger() diff --git a/log/log.go b/log/log.go index b1862574..7330d540 100644 --- a/log/log.go +++ b/log/log.go @@ -1,51 +1 @@ package log - -import ( - "io/ioutil" - "os" - "strings" - "sync" - - "github.com/sirupsen/logrus" -) - -var ( - log *logrus.Logger - once sync.Once -) - -func InitializeSAM3Logger() { - once.Do(func() { - log = logrus.New() - // We do not want to log by default - log.SetOutput(ioutil.Discard) - log.SetLevel(logrus.PanicLevel) - // Check if DEBUG_I2P is set - if logLevel := os.Getenv("DEBUG_I2P"); logLevel != "" { - log.SetOutput(os.Stdout) - switch strings.ToLower(logLevel) { - case "debug": - log.SetLevel(logrus.DebugLevel) - case "warn": - log.SetLevel(logrus.WarnLevel) - case "error": - log.SetLevel(logrus.ErrorLevel) - default: - log.SetLevel(logrus.DebugLevel) - } - log.WithField("level", log.GetLevel()).Debug("Logging enabled.") - } - }) -} - -// GetSAM3Logger returns the initialized logger -func GetSAM3Logger() *logrus.Logger { - if log == nil { - InitializeSAM3Logger() - } - return log -} - -func init() { - InitializeSAM3Logger() -} diff --git a/primary/log.go b/primary/log.go index ea6a3a00..23b7584a 100644 --- a/primary/log.go +++ b/primary/log.go @@ -1,10 +1,7 @@ package primary -import logger "github.com/go-i2p/go-sam-go/log" +import ( + "github.com/go-i2p/logger" +) -var log = logger.GetSAM3Logger() - -func init() { - logger.InitializeSAM3Logger() - log = logger.GetSAM3Logger() -} +var log = logger.GetGoI2PLogger() diff --git a/sam3.go b/sam3.go index 860a5a00..f3f00353 100644 --- a/sam3.go +++ b/sam3.go @@ -11,10 +11,6 @@ import ( "github.com/go-i2p/i2pkeys" ) -func init() { - InitializeSAM3Logger() -} - // Used for controlling I2Ps SAMv3. type SAM struct { *common.SAM diff --git a/stream/log.go b/stream/log.go index 01e52196..f47653cc 100644 --- a/stream/log.go +++ b/stream/log.go @@ -1,10 +1,7 @@ package stream -import logger "github.com/go-i2p/go-sam-go/log" +import ( + "github.com/go-i2p/logger" +) -var log = logger.GetSAM3Logger() - -func init() { - logger.InitializeSAM3Logger() - log = logger.GetSAM3Logger() -} +var log = logger.GetGoI2PLogger() diff --git a/stream/stream_test.go b/stream/stream_test.go index 26b24af3..18fd0001 100644 --- a/stream/stream_test.go +++ b/stream/stream_test.go @@ -4,14 +4,9 @@ import ( "testing" "github.com/go-i2p/go-sam-go/common" - "github.com/go-i2p/i2pkeys" ) func TestNewStreamSession_Integration(t *testing.T) { - commonSam, err := common.NewSAM("127.0.0.1:7656") - if err != nil { - t.Fatalf("NewSAM() error = %v", err) - } tests := []struct { name string id string @@ -40,10 +35,22 @@ func TestNewStreamSession_Integration(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - sam := &SAM{SAM: commonSam} - keys, _ := i2pkeys.NewDestination() + // Create a fresh SAM connection for each test + commonSam, err := common.NewSAM("127.0.0.1:7656") + if err != nil { + t.Fatalf("NewSAM() error = %v", err) + } + defer commonSam.Close() - session, err := sam.NewStreamSession(tt.id, *keys, tt.options) + sam := &SAM{SAM: commonSam} + + // Generate keys through the SAM bridge + keys, err := sam.NewKeys() + if err != nil { + t.Fatalf("NewKeys() error = %v", err) + } + + session, err := sam.NewStreamSession(tt.id, keys, tt.options) if (err != nil) != tt.wantErr { t.Errorf("NewStreamSession() error = %v, wantErr %v", err, tt.wantErr) return diff --git a/suggestedOptions.go b/suggestedOptions.go index 21ae6a97..792ddddb 100644 --- a/suggestedOptions.go +++ b/suggestedOptions.go @@ -76,7 +76,6 @@ var ( ) func getEnv(key, fallback string) string { - InitializeSAM3Logger() value, ok := os.LookupEnv(key) if !ok { log.WithFields(logrus.Fields{