@@ -15,6 +15,8 @@ import (
15
15
"github.com/42wim/matterbridge/bridge/helper"
16
16
"github.com/42wim/matterircd/bridge"
17
17
"github.com/davecgh/go-spew/spew"
18
+ prefixed "github.com/matterbridge/logrus-prefixed-formatter"
19
+ "github.com/sirupsen/logrus"
18
20
"github.com/spf13/viper"
19
21
)
20
22
@@ -32,6 +34,8 @@ type Matrix struct {
32
34
sync.RWMutex
33
35
}
34
36
37
+ var logger * logrus.Entry
38
+
35
39
func New (v * viper.Viper , cred bridge.Credentials , eventChan chan * bridge.Event , onWsConnect func ()) (bridge.Bridger , * mautrix.Client , error ) {
36
40
m := & Matrix {
37
41
credentials : cred ,
@@ -42,6 +46,20 @@ func New(v *viper.Viper, cred bridge.Credentials, eventChan chan *bridge.Event,
42
46
users : make (map [id.UserID ]* User ),
43
47
}
44
48
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
+
45
63
mc , err := mautrix .NewClient (cred .Server , "" , "" )
46
64
if err != nil {
47
65
return nil , nil , err
@@ -68,8 +86,8 @@ func New(v *viper.Viper, cred bridge.Credentials, eventChan chan *bridge.Event,
68
86
}
69
87
70
88
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 ) )
73
91
74
92
m .firstSync = true
75
93
@@ -80,9 +98,6 @@ func (m *Matrix) syncCallback(resp *mautrix.RespSync, since string) bool {
80
98
func (m * Matrix ) handleMatrix (onConnect func ()) {
81
99
syncer := m .mc .Syncer .(* mautrix.DefaultSyncer )
82
100
83
- fmt .Println ("dumping" )
84
- // spew.Dump(resp)
85
-
86
101
syncer .OnEventType (event .EventRedaction , m .handleEvent )
87
102
syncer .OnEventType (event .EventMessage , m .handleEvent )
88
103
syncer .OnEventType (event .StateMember , m .handleMember )
@@ -95,8 +110,8 @@ func (m *Matrix) handleMatrix(onConnect func()) {
95
110
if evt .RoomID .String () == "marker" {
96
111
m .firstSync = true
97
112
}
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 ) )
100
115
})
101
116
102
117
syncer .OnSync (m .syncCallback )
@@ -110,7 +125,7 @@ func (m *Matrix) handleMatrix(onConnect func()) {
110
125
}()
111
126
112
127
for ! m .firstSync {
113
- fmt . Println ("syncing.." )
128
+ logger . Trace ("syncing.." )
114
129
time .Sleep (time .Second )
115
130
}
116
131
@@ -130,7 +145,7 @@ func (m *Matrix) handleMatrix(onConnect func()) {
130
145
131
146
for {
132
147
time .Sleep (time .Second )
133
- fmt . Println ("syncing.." )
148
+ logger . Trace ("syncing.." )
134
149
135
150
if current == len (m .eventChan ) {
136
151
count ++
@@ -143,7 +158,7 @@ func (m *Matrix) handleMatrix(onConnect func()) {
143
158
current = len (m .eventChan )
144
159
}
145
160
146
- fmt . Println ("sync complete" , len (m .eventChan ))
161
+ logger . Trace ("sync complete " , len (m .eventChan ))
147
162
148
163
go onConnect ()
149
164
}
@@ -153,7 +168,7 @@ func (m *Matrix) handleDM(source mautrix.EventSource, ev *event.Event) {
153
168
m .Lock ()
154
169
155
170
for userID , rooms := range * ev .Content .AsDirectChats () {
156
- fmt . Printf ("direct chat %#v\n " , rooms )
171
+ logger . Tracef ("direct chat %#v\n " , rooms )
157
172
for _ , roomID := range rooms {
158
173
if _ , ok := m .channels [roomID ]; ! ok {
159
174
m .channels [roomID ] = & Channel {
@@ -195,7 +210,7 @@ func (m *Matrix) handleMember(source mautrix.EventSource, ev *event.Event) {
195
210
MemberEventContent : member ,
196
211
}
197
212
} else if member .IsDirect {
198
- fmt . Println ("found direct member" , * ev .StateKey )
213
+ logger . Trace ("found direct member " , * ev .StateKey )
199
214
user .IsDirect = true
200
215
if _ , ok := m .channels [ev .RoomID ]; ! ok {
201
216
m .channels [ev .RoomID ] = & Channel {
@@ -211,8 +226,8 @@ func (m *Matrix) handleMember(source mautrix.EventSource, ev *event.Event) {
211
226
m .channels [ev .RoomID ].Members [id .UserID (* ev .StateKey )] = m .users [id .UserID (* ev .StateKey )]
212
227
m .dmChannels [ev .RoomID ] = append (m .dmChannels [ev .RoomID ], id .UserID (* ev .StateKey ))
213
228
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 ) )
216
231
}
217
232
}
218
233
@@ -244,7 +259,7 @@ func (m *Matrix) handleCreate(source mautrix.EventSource, ev *event.Event) {
244
259
}
245
260
246
261
func (m * Matrix ) handleCanonicalAlias (source mautrix.EventSource , ev * event.Event ) {
247
- fmt . Println ("running handleCanonicalAlias for" , ev )
262
+ logger . Trace ("running handleCanonicalAlias for " , ev )
248
263
if _ , ok := m .channels [ev .RoomID ]; ! ok {
249
264
m .channels [ev .RoomID ] = & Channel {}
250
265
}
@@ -343,7 +358,7 @@ func (m *Matrix) MsgUser(userID, text string) (string, error) {
343
358
}
344
359
345
360
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 )
347
362
invites := []id.UserID {id .UserID (userID )}
348
363
349
364
var roomID id.RoomID
@@ -368,11 +383,11 @@ func (m *Matrix) MsgUserThread(userID, parentID, text string) (string, error) {
368
383
369
384
resp , err := m .mc .CreateRoom (req )
370
385
if err != nil {
371
- fmt . Println ("msguserthread sending message: error" , err )
386
+ logger . Error ("msguserthread sending message: error " , err )
372
387
return "" , err
373
388
}
374
389
375
- fmt . Println ("msguserthread sending message: error,resp" , err , resp )
390
+ logger . Trace ("msguserthread sending message: error,resp " , err , resp )
376
391
377
392
m .Lock ()
378
393
m .dmChannels [resp .RoomID ] = invites
@@ -389,7 +404,7 @@ func (m *Matrix) MsgChannel(channelID, text string) (string, error) {
389
404
}
390
405
391
406
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 )
393
408
resp , err := m .mc .SendMessageEvent (id .RoomID (channelID ), event .EventMessage , event.MessageEventContent {
394
409
MsgType : "m.text" ,
395
410
Body : text ,
@@ -400,7 +415,7 @@ func (m *Matrix) MsgChannelThread(channelID, parentID, text string) (string, err
400
415
return "" , err
401
416
}
402
417
403
- fmt . Println ("msgchannelthread: error,resp" , err , resp )
418
+ logger . Trace ("msgchannelthread: error,resp " , err , resp )
404
419
405
420
return resp .EventID .String (), nil
406
421
}
@@ -496,7 +511,7 @@ func (m *Matrix) GetChannelUsers(channelID string) ([]*bridge.UserInfo, error) {
496
511
return nil , err
497
512
}
498
513
499
- // fmt.Println("getchannelusers ", channelID, len(resp.Joined))
514
+ logger . Tracef ( "GetChannelUsers %s %d " , channelID , len (resp .Joined ))
500
515
501
516
for user := range resp .Joined {
502
517
users = append (users , m .createUser (user ))
@@ -508,9 +523,8 @@ func (m *Matrix) GetChannelUsers(channelID string) ([]*bridge.UserInfo, error) {
508
523
func (m * Matrix ) GetUsers () []* bridge.UserInfo {
509
524
var users []* bridge.UserInfo
510
525
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 ))
514
528
515
529
m .RLock ()
516
530
for userID := range m .users {
@@ -519,7 +533,7 @@ func (m *Matrix) GetUsers() []*bridge.UserInfo {
519
533
520
534
m .RUnlock ()
521
535
522
- spew .Dump (users )
536
+ logger . Tracef ( "GetUsers users %s" , spew .Sdump (users ) )
523
537
524
538
return users
525
539
}
0 commit comments