Skip to content

Commit 68be04c

Browse files
committed
Fix debug/trace output to use logging infrastructure for general consumption
1 parent ea992bf commit 68be04c

File tree

2 files changed

+43
-25
lines changed

2 files changed

+43
-25
lines changed

bridge/matrix/matrix.go

Lines changed: 39 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ import (
1515
"github.com/42wim/matterbridge/bridge/helper"
1616
"github.com/42wim/matterircd/bridge"
1717
"github.com/davecgh/go-spew/spew"
18+
prefixed "github.com/matterbridge/logrus-prefixed-formatter"
19+
"github.com/sirupsen/logrus"
1820
"github.com/spf13/viper"
1921
)
2022

@@ -32,6 +34,8 @@ type Matrix struct {
3234
sync.RWMutex
3335
}
3436

37+
var logger *logrus.Entry
38+
3539
func New(v *viper.Viper, cred bridge.Credentials, eventChan chan *bridge.Event, onWsConnect func()) (bridge.Bridger, *mautrix.Client, error) {
3640
m := &Matrix{
3741
credentials: cred,
@@ -42,6 +46,20 @@ func New(v *viper.Viper, cred bridge.Credentials, eventChan chan *bridge.Event,
4246
users: make(map[id.UserID]*User),
4347
}
4448

49+
ourlog := logrus.New()
50+
ourlog.SetFormatter(&prefixed.TextFormatter{
51+
PrefixPadding: 14,
52+
FullTimestamp: true,
53+
})
54+
logger = ourlog.WithFields(logrus.Fields{"prefix": "bridge/matrix"})
55+
if v.GetBool("debug") {
56+
ourlog.SetLevel(logrus.DebugLevel)
57+
}
58+
59+
if v.GetBool("trace") {
60+
ourlog.SetLevel(logrus.TraceLevel)
61+
}
62+
4563
mc, err := mautrix.NewClient(cred.Server, "", "")
4664
if err != nil {
4765
return nil, nil, err
@@ -68,8 +86,8 @@ func New(v *viper.Viper, cred bridge.Credentials, eventChan chan *bridge.Event,
6886
}
6987

7088
func (m *Matrix) syncCallback(resp *mautrix.RespSync, since string) bool {
71-
// spew.Dump(resp)
72-
fmt.Println("synccallback", len(resp.AccountData.Events), resp.NextBatch)
89+
logger.Trace("synccallback ", len(resp.AccountData.Events), resp.NextBatch)
90+
logger.Tracef("syncCallback %s", spew.Sdump(resp))
7391

7492
m.firstSync = true
7593

@@ -80,9 +98,6 @@ func (m *Matrix) syncCallback(resp *mautrix.RespSync, since string) bool {
8098
func (m *Matrix) handleMatrix(onConnect func()) {
8199
syncer := m.mc.Syncer.(*mautrix.DefaultSyncer)
82100

83-
fmt.Println("dumping")
84-
// spew.Dump(resp)
85-
86101
syncer.OnEventType(event.EventRedaction, m.handleEvent)
87102
syncer.OnEventType(event.EventMessage, m.handleEvent)
88103
syncer.OnEventType(event.StateMember, m.handleMember)
@@ -95,8 +110,8 @@ func (m *Matrix) handleMatrix(onConnect func()) {
95110
if evt.RoomID.String() == "marker" {
96111
m.firstSync = true
97112
}
98-
fmt.Println(source.String())
99-
spew.Dump(evt)
113+
logger.Tracef("handleMatrix source.String() %s", source.String())
114+
logger.Tracef("handleMatrix evt %s", spew.Sdump(evt))
100115
})
101116

102117
syncer.OnSync(m.syncCallback)
@@ -110,7 +125,7 @@ func (m *Matrix) handleMatrix(onConnect func()) {
110125
}()
111126

112127
for !m.firstSync {
113-
fmt.Println("syncing..")
128+
logger.Trace("syncing..")
114129
time.Sleep(time.Second)
115130
}
116131

@@ -130,7 +145,7 @@ func (m *Matrix) handleMatrix(onConnect func()) {
130145

131146
for {
132147
time.Sleep(time.Second)
133-
fmt.Println("syncing..")
148+
logger.Trace("syncing..")
134149

135150
if current == len(m.eventChan) {
136151
count++
@@ -143,7 +158,7 @@ func (m *Matrix) handleMatrix(onConnect func()) {
143158
current = len(m.eventChan)
144159
}
145160

146-
fmt.Println("sync complete", len(m.eventChan))
161+
logger.Trace("sync complete ", len(m.eventChan))
147162

148163
go onConnect()
149164
}
@@ -153,7 +168,7 @@ func (m *Matrix) handleDM(source mautrix.EventSource, ev *event.Event) {
153168
m.Lock()
154169

155170
for userID, rooms := range *ev.Content.AsDirectChats() {
156-
fmt.Printf("direct chat %#v\n", rooms)
171+
logger.Tracef("direct chat %#v\n", rooms)
157172
for _, roomID := range rooms {
158173
if _, ok := m.channels[roomID]; !ok {
159174
m.channels[roomID] = &Channel{
@@ -195,7 +210,7 @@ func (m *Matrix) handleMember(source mautrix.EventSource, ev *event.Event) {
195210
MemberEventContent: member,
196211
}
197212
} else if member.IsDirect {
198-
fmt.Println("found direct member", *ev.StateKey)
213+
logger.Trace("found direct member ", *ev.StateKey)
199214
user.IsDirect = true
200215
if _, ok := m.channels[ev.RoomID]; !ok {
201216
m.channels[ev.RoomID] = &Channel{
@@ -211,8 +226,8 @@ func (m *Matrix) handleMember(source mautrix.EventSource, ev *event.Event) {
211226
m.channels[ev.RoomID].Members[id.UserID(*ev.StateKey)] = m.users[id.UserID(*ev.StateKey)]
212227
m.dmChannels[ev.RoomID] = append(m.dmChannels[ev.RoomID], id.UserID(*ev.StateKey))
213228

214-
spew.Dump(m.channels)
215-
spew.Dump(m.users)
229+
logger.Tracef("handleMember channels %s", spew.Sdump(m.channels))
230+
logger.Tracef("handleMember users %s", spew.Sdump(m.users))
216231
}
217232
}
218233

@@ -244,7 +259,7 @@ func (m *Matrix) handleCreate(source mautrix.EventSource, ev *event.Event) {
244259
}
245260

246261
func (m *Matrix) handleCanonicalAlias(source mautrix.EventSource, ev *event.Event) {
247-
fmt.Println("running handleCanonicalAlias for", ev)
262+
logger.Trace("running handleCanonicalAlias for ", ev)
248263
if _, ok := m.channels[ev.RoomID]; !ok {
249264
m.channels[ev.RoomID] = &Channel{}
250265
}
@@ -343,7 +358,7 @@ func (m *Matrix) MsgUser(userID, text string) (string, error) {
343358
}
344359

345360
func (m *Matrix) MsgUserThread(userID, parentID, text string) (string, error) {
346-
fmt.Println("sending message", userID, parentID, text)
361+
logger.Debug("sending message ", userID, parentID, text)
347362
invites := []id.UserID{id.UserID(userID)}
348363

349364
var roomID id.RoomID
@@ -368,11 +383,11 @@ func (m *Matrix) MsgUserThread(userID, parentID, text string) (string, error) {
368383

369384
resp, err := m.mc.CreateRoom(req)
370385
if err != nil {
371-
fmt.Println("msguserthread sending message: error", err)
386+
logger.Error("msguserthread sending message: error ", err)
372387
return "", err
373388
}
374389

375-
fmt.Println("msguserthread sending message: error,resp", err, resp)
390+
logger.Trace("msguserthread sending message: error,resp ", err, resp)
376391

377392
m.Lock()
378393
m.dmChannels[resp.RoomID] = invites
@@ -389,7 +404,7 @@ func (m *Matrix) MsgChannel(channelID, text string) (string, error) {
389404
}
390405

391406
func (m *Matrix) MsgChannelThread(channelID, parentID, text string) (string, error) {
392-
fmt.Println("msgchannelthread: sending message thread", channelID, parentID, text)
407+
logger.Debug("msgchannelthread: sending message thread ", channelID, parentID, text)
393408
resp, err := m.mc.SendMessageEvent(id.RoomID(channelID), event.EventMessage, event.MessageEventContent{
394409
MsgType: "m.text",
395410
Body: text,
@@ -400,7 +415,7 @@ func (m *Matrix) MsgChannelThread(channelID, parentID, text string) (string, err
400415
return "", err
401416
}
402417

403-
fmt.Println("msgchannelthread: error,resp", err, resp)
418+
logger.Trace("msgchannelthread: error,resp ", err, resp)
404419

405420
return resp.EventID.String(), nil
406421
}
@@ -496,7 +511,7 @@ func (m *Matrix) GetChannelUsers(channelID string) ([]*bridge.UserInfo, error) {
496511
return nil, err
497512
}
498513

499-
// fmt.Println("getchannelusers", channelID, len(resp.Joined))
514+
logger.Tracef("GetChannelUsers %s %d", channelID, len(resp.Joined))
500515

501516
for user := range resp.Joined {
502517
users = append(users, m.createUser(user))
@@ -508,9 +523,8 @@ func (m *Matrix) GetChannelUsers(channelID string) ([]*bridge.UserInfo, error) {
508523
func (m *Matrix) GetUsers() []*bridge.UserInfo {
509524
var users []*bridge.UserInfo
510525

511-
fmt.Println("GetUsers()", m.users)
512-
513-
spew.Dump(m.users)
526+
logger.Tracef("GetUsers %s", m.users)
527+
logger.Tracef("GetUsers %s", spew.Sdump(m.users))
514528

515529
m.RLock()
516530
for userID := range m.users {
@@ -519,7 +533,7 @@ func (m *Matrix) GetUsers() []*bridge.UserInfo {
519533

520534
m.RUnlock()
521535

522-
spew.Dump(users)
536+
logger.Tracef("GetUsers users %s", spew.Sdump(users))
523537

524538
return users
525539
}

mm-go-irckit/service.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ func login(u *User, toUser *User, args []string, service string) {
4343
if service == "matrix" { //nolint:nestif
4444
var err error
4545

46+
warningMsg := "WARNING: Matrix support is very much experimental and a work in progress. Use at your own risk."
47+
u.MsgUser(toUser, warningMsg)
48+
logger.Warn(warningMsg)
49+
4650
if len(args) != 1 && len(args) != 3 {
4751
u.MsgUser(toUser, "need LOGIN <server> <login> <pass> or LOGIN <token>")
4852
return

0 commit comments

Comments
 (0)