Skip to content

Commit 747ea6f

Browse files
committed
refactor: replace std log with custom logger interface throughout codebase
1 parent 639f361 commit 747ea6f

File tree

3 files changed

+50
-37
lines changed

3 files changed

+50
-37
lines changed

client.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"encoding/json"
88
"fmt"
99
"io"
10-
"log"
1110
"os"
1211
"sync"
1312
"time"
@@ -126,7 +125,7 @@ func NewClient(config Config) (P2PClient, error) {
126125
for _, peerInfo := range bootstrapPeers {
127126
go func(pi peer.AddrInfo) {
128127
if err := h.Connect(ctx, pi); err == nil {
129-
log.Printf("Connected to bootstrap peer: %s", pi.ID.String())
128+
logger.Infof("Connected to bootstrap peer: %s", pi.ID.String())
130129
}
131130
}(peerInfo)
132131
}
@@ -150,11 +149,11 @@ func NewClient(config Config) (P2PClient, error) {
150149
}
151150

152151
// Set up mDNS discovery
153-
mdnsService := mdns.NewMdnsService(h, "", &discoveryNotifee{h: h, ctx: ctx})
152+
mdnsService := mdns.NewMdnsService(h, "", &discoveryNotifee{h: h, ctx: ctx, logger: logger})
154153
if err := mdnsService.Start(); err != nil {
155-
log.Printf("Warning: mDNS failed to start: %v", err)
154+
logger.Errorf("mDNS failed to start: %v", err)
156155
} else {
157-
log.Println("mDNS discovery started")
156+
logger.Infof("mDNS discovery started")
158157
}
159158

160159
client := &Client{
@@ -199,7 +198,7 @@ func (c *Client) Subscribe(topic string) <-chan Message {
199198
var err error
200199
t, err = c.pubsub.Join(topic)
201200
if err != nil {
202-
log.Printf("Failed to join topic %s: %v", topic, err)
201+
c.logger.Errorf("Failed to join topic %s: %v", topic, err)
203202
close(msgChan)
204203
return
205204
}
@@ -212,7 +211,7 @@ func (c *Client) Subscribe(topic string) <-chan Message {
212211
// Subscribe to topic
213212
sub, err := t.Subscribe()
214213
if err != nil {
215-
log.Printf("Failed to subscribe to topic %s: %v", topic, err)
214+
c.logger.Errorf("Failed to subscribe to topic %s: %v", topic, err)
216215
close(msgChan)
217216
return
218217
}
@@ -232,7 +231,7 @@ func (c *Client) Subscribe(topic string) <-chan Message {
232231
if tp == peerID {
233232
name := c.peerTracker.getName(peerID)
234233
addr := conn.RemoteMultiaddr().String()
235-
log.Printf("[CONNECTED] Topic peer %s [%s] %s", peerID.String(), name, addr)
234+
c.logger.Infof("[CONNECTED] Topic peer %s [%s] %s", peerID.String(), name, addr)
236235

237236
// Save peer cache
238237
c.savePeerCache(t)
@@ -246,7 +245,7 @@ func (c *Client) Subscribe(topic string) <-chan Message {
246245
topicPeers := t.ListPeers()
247246
for _, tp := range topicPeers {
248247
if tp == peerID {
249-
log.Printf("[DISCONNECTED] Lost connection to topic peer %s", peerID.String()[:16])
248+
c.logger.Infof("[DISCONNECTED] Lost connection to topic peer %s", peerID.String()[:16])
250249
return
251250
}
252251
}
@@ -358,7 +357,7 @@ func (c *Client) Close() error {
358357
case <-done:
359358
return nil
360359
case <-time.After(2 * time.Second):
361-
log.Printf("Warning: Clean shutdown timed out, forcing exit")
360+
c.logger.Warnf("Clean shutdown timed out, forcing exit")
362361
return nil
363362
}
364363
}
@@ -443,7 +442,7 @@ func (c *Client) receiveMessages(sub *pubsub.Subscription, topic *pubsub.Topic,
443442
if c.ctx.Err() != nil {
444443
return
445444
}
446-
log.Printf("Error reading message: %v", err)
445+
c.logger.Errorf("Error reading message: %v", err)
447446
continue
448447
}
449448

@@ -458,7 +457,7 @@ func (c *Client) receiveMessages(sub *pubsub.Subscription, topic *pubsub.Topic,
458457
Data []byte `json:"data"`
459458
}
460459
if err := json.Unmarshal(msg.Data, &m); err != nil {
461-
log.Printf("Error unmarshaling message: %v", err)
460+
c.logger.Errorf("Error unmarshaling message: %v", err)
462461
continue
463462
}
464463

@@ -511,8 +510,9 @@ func (c *Client) savePeerCache(topic *pubsub.Topic) {
511510
// Helper functions
512511

513512
type discoveryNotifee struct {
514-
h host.Host
515-
ctx context.Context
513+
h host.Host
514+
ctx context.Context
515+
logger logger
516516
}
517517

518518
func (n *discoveryNotifee) HandlePeerFound(pi peer.AddrInfo) {
@@ -521,7 +521,7 @@ func (n *discoveryNotifee) HandlePeerFound(pi peer.AddrInfo) {
521521
}
522522

523523
if err := n.h.Connect(n.ctx, pi); err == nil {
524-
log.Printf("Connected to peer: %s", pi.ID.String())
524+
n.logger.Infof("Connected to peer: %s", pi.ID.String())
525525
}
526526
}
527527

example/go.mod

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ module github.com/ordishs/p2p_poc/example
33
go 1.25.1
44

55
require (
6-
github.com/ordishs/gocore v1.0.81
76
github.com/bsv-blockchain/go-p2p-message-bus v0.0.0
87
)
98

example/main.go

Lines changed: 35 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package main
22

33
import (
44
"context"
5+
"encoding/json"
56
"flag"
67
"fmt"
78
"os"
@@ -10,9 +11,8 @@ import (
1011
"syscall"
1112
"time"
1213

13-
"github.com/libp2p/go-libp2p/core/crypto"
14-
"github.com/ordishs/gocore"
1514
p2p "github.com/bsv-blockchain/go-p2p-message-bus"
15+
"github.com/libp2p/go-libp2p/core/crypto"
1616
)
1717

1818
func main() {
@@ -23,10 +23,11 @@ func main() {
2323

2424
flag.Parse()
2525

26-
logger := gocore.Log("p2p_poc")
26+
logger := &p2p.DefaultLogger{}
2727

2828
if *name == "" {
29-
logger.Fatal("--name flag is required")
29+
logger.Errorf("--name flag is required")
30+
return
3031
}
3132

3233
ctx, cancel := context.WithCancel(context.Background())
@@ -46,17 +47,19 @@ func main() {
4647
// Generate a new key
4748
privKey, err = p2p.GeneratePrivateKey()
4849
if err != nil {
49-
logger.Fatalf("Failed to generate private key: %v", err)
50+
logger.Errorf("Failed to generate private key: %v", err)
51+
return
5052
}
5153

5254
keyHex, _ = p2p.PrivateKeyToHex(privKey)
53-
fmt.Printf("Generated new private key: %s\n", keyHex)
54-
fmt.Println("Save this key and use it next time with --key flag or P2P_PRIVATE_KEY env var")
55+
logger.Infof("Generated new private key: %s\n", keyHex)
56+
logger.Infof("Save this key and use it next time with --key flag or P2P_PRIVATE_KEY env var")
5557
} else {
5658
// Load key from hex
5759
privKey, err = p2p.PrivateKeyFromHex(keyHex)
5860
if err != nil {
59-
logger.Fatalf("Failed to load private key: %v", err)
61+
logger.Errorf("Failed to load private key: %v", err)
62+
return
6063
}
6164
}
6265

@@ -68,8 +71,10 @@ func main() {
6871
PeerCacheFile: "peer_cache.json", // Enable peer persistence
6972
})
7073
if err != nil {
71-
logger.Fatalf("Failed to create P2P client: %v", err)
74+
logger.Errorf("Failed to create P2P client: %v", err)
75+
return
7276
}
77+
7378
defer client.Close()
7479

7580
// Parse topics list
@@ -78,8 +83,6 @@ func main() {
7883
topicList[i] = strings.TrimSpace(t)
7984
}
8085

81-
logger.Infof("Subscribing to topics: %v", topicList)
82-
8386
// Subscribe to all topics and merge messages into single channel
8487
allMsgChan := make(chan p2p.Message, 100)
8588

@@ -92,14 +95,26 @@ func main() {
9295
allMsgChan <- msg
9396
}
9497
}(msgChan)
95-
96-
logger.Infof("Subscribed to topic: %s", topic)
9798
}
9899

99100
// Start message receiver
100101
go func() {
101102
for msg := range allMsgChan {
102-
fmt.Printf("[%-52s] %s: %s (topic: %s)\n", msg.FromID, msg.From, string(msg.Data), msg.Topic)
103+
var data string
104+
105+
// Try to unmarshal and re-marshal for pretty printing
106+
var jsonObj interface{}
107+
if err := json.Unmarshal(msg.Data, &jsonObj); err == nil {
108+
if jsonBytes, err := json.MarshalIndent(jsonObj, "", " "); err == nil {
109+
data = string(jsonBytes)
110+
} else {
111+
data = string(msg.Data)
112+
}
113+
} else {
114+
data = string(msg.Data)
115+
}
116+
117+
logger.Infof("[%-52s] %s: (%s)\n%s", msg.FromID, msg.From, msg.Topic, data)
103118
}
104119
}()
105120

@@ -123,7 +138,7 @@ func main() {
123138
return
124139
}
125140
}
126-
fmt.Printf("[%-52s] %s: %s\n", "local", *name, data)
141+
logger.Infof("[%-52s] %s: %s\n", "local", *name, data)
127142
}
128143
}
129144
}()
@@ -141,26 +156,25 @@ func main() {
141156
case <-ticker.C:
142157
peers := client.GetPeers()
143158
if len(peers) > 0 {
144-
fmt.Printf("\n=== Connected Peers: %d ===\n", len(peers))
159+
logger.Infof("\n=== Connected Peers: %d ===\n", len(peers))
145160
for _, peer := range peers {
146-
fmt.Printf(" - %s [%s]\n", peer.Name, peer.ID)
161+
logger.Infof(" - %s [%s]\n", peer.Name, peer.ID)
147162
for _, addr := range peer.Addrs {
148-
fmt.Printf(" %s\n", addr)
163+
logger.Infof(" %s\n", addr)
149164
}
150165
}
151-
fmt.Println()
152166
}
153167
}
154168
}
155169
}()
156170

157-
fmt.Println("P2P client started. Press Ctrl+C to exit")
171+
logger.Infof("P2P client started. Press Ctrl+C to exit")
158172

159173
// Wait for shutdown signal
160174
sigChan := make(chan os.Signal, 1)
161175
signal.Notify(sigChan, syscall.SIGINT, syscall.SIGTERM)
162176
<-sigChan
163177

164-
fmt.Println("\nShutting down...")
178+
logger.Infof("\nShutting down...")
165179
cancel()
166180
}

0 commit comments

Comments
 (0)