Skip to content

Commit 2382ec6

Browse files
authored
RSDK-5278: Add context logger methods. (#3286)
1 parent 82ee363 commit 2382ec6

File tree

96 files changed

+767
-485
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

96 files changed

+767
-485
lines changed

components/arm/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func NewClientFromConn(
5151
}
5252
clientFrame, err := c.updateKinematics(ctx, nil)
5353
if err != nil {
54-
logger.Errorw("error getting model for arm; will not allow certain methods", "err", err)
54+
logger.CErrorw(ctx, "error getting model for arm; will not allow certain methods", "err", err)
5555
} else {
5656
c.model = clientFrame
5757
}

components/arm/eva/eva.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ func NewEva(ctx context.Context, conf resource.Config, logger logging.Logger) (a
124124
return nil, err
125125
}
126126

127-
e.logger.Debugf("connected to eva: %v", name)
127+
e.logger.CDebugf(ctx, "connected to eva: %v", name)
128128

129129
return e, nil
130130
}
@@ -372,7 +372,7 @@ func (e *eva) apiLock(ctx context.Context) error {
372372
func (e *eva) apiUnlock(ctx context.Context) {
373373
err := e.apiRequest(ctx, "DELETE", "controls/lock", nil, true, nil)
374374
if err != nil {
375-
e.logger.Debugf("eva unlock failed: %s", err)
375+
e.logger.CDebugf(ctx, "eva unlock failed: %s", err)
376376
}
377377
}
378378

components/arm/universalrobots/ur.go

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,14 @@ func (ua *URArm) Close(ctx context.Context) error {
129129

130130
closeConn := func() {
131131
if err := ua.dashboardConnection.Close(); err != nil && !errors.Is(err, net.ErrClosed) {
132-
ua.logger.Errorw("error closing arm's Dashboard connection", "error", err)
132+
ua.logger.CErrorw(ctx, "error closing arm's Dashboard connection", "error", err)
133133
}
134134
if err := ua.readRobotStateConnection.Close(); err != nil && !errors.Is(err, net.ErrClosed) {
135-
ua.logger.Errorw("error closing arm's State connection", "error", err)
135+
ua.logger.CErrorw(ctx, "error closing arm's State connection", "error", err)
136136
}
137137
if ua.connControl != nil {
138138
if err := ua.connControl.Close(); err != nil && !errors.Is(err, net.ErrClosed) {
139-
ua.logger.Errorw("error closing arm's control connection", "error", err)
139+
ua.logger.CErrorw(ctx, "error closing arm's control connection", "error", err)
140140
}
141141
}
142142
}
@@ -216,7 +216,7 @@ func URArmConnect(ctx context.Context, conf resource.Config, logger logging.Logg
216216
if err := cancelCtx.Err(); err != nil {
217217
return
218218
}
219-
logger.Debug("attempting to reconnect to ur arm dashboard")
219+
logger.CDebug(ctx, "attempting to reconnect to ur arm dashboard")
220220
time.Sleep(1 * time.Second)
221221
connDashboard, err = d.DialContext(cancelCtx, "tcp", newArm.host+":29999")
222222
if err == nil {
@@ -235,7 +235,7 @@ func URArmConnect(ctx context.Context, conf resource.Config, logger logging.Logg
235235
}
236236
}
237237
} else if err != nil {
238-
logger.Errorw("dashboard reader failed", "error", err)
238+
logger.CErrorw(ctx, "dashboard reader failed", "error", err)
239239
newArm.mu.Lock()
240240
newArm.isConnected = false
241241
newArm.mu.Unlock()
@@ -260,7 +260,7 @@ func URArmConnect(ctx context.Context, conf resource.Config, logger logging.Logg
260260
if err := cancelCtx.Err(); err != nil {
261261
return
262262
}
263-
logger.Debug("attempting to reconnect to ur arm 30011")
263+
logger.CDebug(ctx, "attempting to reconnect to ur arm 30011")
264264
connReadRobotState, err = d.DialContext(cancelCtx, "tcp", newArm.host+":30011")
265265
if err == nil {
266266
newArm.mu.Lock()
@@ -273,7 +273,7 @@ func URArmConnect(ctx context.Context, conf resource.Config, logger logging.Logg
273273
}
274274
}
275275
} else if err != nil {
276-
logger.Errorw("reader failed", "error", err)
276+
logger.CErrorw(ctx, "reader failed", "error", err)
277277
return
278278
}
279279
}
@@ -616,14 +616,14 @@ func reader(ctx context.Context, conn net.Conn, ua *URArm, onHaveData func()) er
616616

617617
switch buf[0] {
618618
case 16:
619-
state, err := readRobotStateMessage(buf[1:], ua.logger)
619+
state, err := readRobotStateMessage(ctx, buf[1:], ua.logger)
620620
if err != nil {
621621
return err
622622
}
623623
ua.setState(state)
624624
onHaveData()
625625
if ua.debug {
626-
ua.logger.Debugf("isOn: %v stopped: %v joints: %f %f %f %f %f %f cartesian: %f %f %f %f %f %f\n",
626+
ua.logger.CDebugf(ctx, "isOn: %v stopped: %v joints: %f %f %f %f %f %f cartesian: %f %f %f %f %f %f\n",
627627
state.RobotModeData.IsRobotPowerOn,
628628
state.RobotModeData.IsEmergencyStopped || state.RobotModeData.IsProtectiveStopped,
629629
state.Joints[0].AngleValues(),
@@ -640,31 +640,31 @@ func reader(ctx context.Context, conn net.Conn, ua *URArm, onHaveData func()) er
640640
state.CartesianInfo.Rz)
641641
}
642642
case 20:
643-
userErr := readURRobotMessage(buf, ua.logger)
643+
userErr := readURRobotMessage(ctx, buf, ua.logger)
644644
if userErr != nil {
645645
ua.setRuntimeError(userErr)
646646
}
647647
case 5: // MODBUS_INFO_MESSAGE
648648
data := binary.BigEndian.Uint32(buf[1:])
649649
if data != 0 {
650-
ua.logger.Debugf("got unexpected MODBUS_INFO_MESSAGE %d\n", data)
650+
ua.logger.CDebugf(ctx, "got unexpected MODBUS_INFO_MESSAGE %d\n", data)
651651
}
652652
case 23: // SAFETY_SETUP_BROADCAST_MESSAGE
653653
case 24: // SAFETY_COMPLIANCE_TOLERANCES_MESSAGE
654654
case 25: // PROGRAM_STATE_MESSAGE
655655
if len(buf) != 12 {
656-
ua.logger.Debug("got bad PROGRAM_STATE_MESSAGE ??")
656+
ua.logger.CDebug(ctx, "got bad PROGRAM_STATE_MESSAGE ??")
657657
} else {
658658
a := binary.BigEndian.Uint32(buf[1:])
659659
b := buf[9]
660660
c := buf[10]
661661
d := buf[11]
662662
if a != 4294967295 || b != 1 || c != 0 || d != 0 {
663-
ua.logger.Debugf("got unknown PROGRAM_STATE_MESSAGE %v %v %v %v\n", a, b, c, d)
663+
ua.logger.CDebugf(ctx, "got unknown PROGRAM_STATE_MESSAGE %v %v %v %v\n", a, b, c, d)
664664
}
665665
}
666666
default:
667-
ua.logger.Debugf("ur: unknown messageType: %v size: %d %v\n", buf[0], len(buf), buf)
667+
ua.logger.CDebugf(ctx, "ur: unknown messageType: %v size: %d %v\n", buf[0], len(buf), buf)
668668
}
669669
}
670670
}

components/arm/universalrobots/ur_parser.go

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package universalrobots
22

33
import (
44
"bytes"
5+
"context"
56
"encoding/binary"
67
"fmt"
78
"io"
@@ -154,7 +155,7 @@ type RobotState struct {
154155
creationTime time.Time
155156
}
156157

157-
func readRobotStateMessage(buf []byte, logger logging.Logger) (RobotState, error) {
158+
func readRobotStateMessage(ctx context.Context, buf []byte, logger logging.Logger) (RobotState, error) {
158159
state := RobotState{
159160
creationTime: time.Now(),
160161
}
@@ -227,15 +228,15 @@ func readRobotStateMessage(buf []byte, logger logging.Logger) (RobotState, error
227228
case 12:
228229
// Tool mode info, skipping, don't think we need
229230
default:
230-
logger.Debugf("unknown packageType: %d size: %d content size: %d\n", packageType, sz, len(content))
231+
logger.CDebugf(ctx, "unknown packageType: %d size: %d content size: %d\n", packageType, sz, len(content))
231232
}
232233
}
233234

234235
return state, nil
235236
}
236237

237238
// return userErr, error.
238-
func readURRobotMessage(buf []byte, logger logging.Logger) error {
239+
func readURRobotMessage(ctx context.Context, buf []byte, logger logging.Logger) error {
239240
ts := binary.BigEndian.Uint64(buf[1:])
240241
// messageSource := buf[9]
241242
robotMessageType := buf[10]
@@ -244,7 +245,7 @@ func readURRobotMessage(buf []byte, logger logging.Logger) error {
244245

245246
switch robotMessageType {
246247
case 0: // text?
247-
logger.Debugf("ur log: %s\n", string(buf))
248+
logger.CDebugf(ctx, "ur log: %s\n", string(buf))
248249

249250
case 6: // error
250251
robotMessageCode := binary.BigEndian.Uint32(buf)
@@ -254,7 +255,7 @@ func readURRobotMessage(buf []byte, logger logging.Logger) error {
254255
robotMessageData := binary.BigEndian.Uint32(buf[16:])
255256
robotCommTextMessage := string(buf[20:])
256257

257-
logger.Debugf("robot error! code: C%dA%d reportLevel: %d, dataType: %d, data: %d, msg: %s\n",
258+
logger.CDebugf(ctx, "robot error! code: C%dA%d reportLevel: %d, dataType: %d, data: %d, msg: %s\n",
258259
robotMessageCode, robotMessageArgument, robotMessageReportLevel, robotMessageDataType, robotMessageData, robotCommTextMessage)
259260

260261
case 3: // Version
@@ -267,16 +268,16 @@ func readURRobotMessage(buf []byte, logger logging.Logger) error {
267268
bugFixVersion := binary.BigEndian.Uint32(buf[pos+2:])
268269
buildNumber := binary.BigEndian.Uint32(buf[pos+8:])
269270

270-
logger.Debugf("UR version %v.%v.%v.%v\n", majorVersion, minorVersion, bugFixVersion, buildNumber)
271+
logger.CDebugf(ctx, "UR version %v.%v.%v.%v\n", majorVersion, minorVersion, bugFixVersion, buildNumber)
271272

272273
case 12: // i have no idea what this is
273274
if len(buf) != 9 {
274-
logger.Debugf("got a weird robot message of type 12 with bad length: %d\n", len(buf))
275+
logger.CDebugf(ctx, "got a weird robot message of type 12 with bad length: %d\n", len(buf))
275276
} else {
276277
a := binary.BigEndian.Uint64(buf)
277278
b := buf[8]
278279
if a != 0 || b != 1 {
279-
logger.Debugf("got a weird robot message of type 12 with bad data: %v %v\n", a, b)
280+
logger.CDebugf(ctx, "got a weird robot message of type 12 with bad data: %v %v\n", a, b)
280281
}
281282
}
282283

@@ -289,7 +290,7 @@ func readURRobotMessage(buf []byte, logger logging.Logger) error {
289290

290291
if false {
291292
// TODO(erh): this is better than sleeping in other code, be smart!!
292-
logger.Debugf("KeyMessage robotMessageCode: %d robotMessageArgument: %d robotMessageTitle: %s keyTextMessage: %s\n",
293+
logger.CDebugf(ctx, "KeyMessage robotMessageCode: %d robotMessageArgument: %d robotMessageTitle: %s keyTextMessage: %s\n",
293294
robotMessageCode, robotMessageArgument, robotMessageTitle, keyTextMessage)
294295
}
295296
case 10: // ROBOT_MESSAGE_TYPE_RUNTIME_EXCEPTION
@@ -299,7 +300,7 @@ func readURRobotMessage(buf []byte, logger logging.Logger) error {
299300
runtimeErr := errors.Errorf("runtime error at line: %d col: %d msg: %s", scriptLineNumber, scriptColumnNumber, msg)
300301
return runtimeErr
301302
default:
302-
logger.Debugf("unknown robotMessageType: %d ts: %v %v\n", robotMessageType, ts, buf)
303+
logger.CDebugf(ctx, "unknown robotMessageType: %d ts: %v %v\n", robotMessageType, ts, buf)
303304
return nil
304305
}
305306

components/arm/universalrobots/ur_parser_test.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package universalrobots
22

33
import (
4+
"context"
45
"math"
56
"os"
67
"testing"
@@ -16,7 +17,7 @@ func Test1(t *testing.T) {
1617
data, err := os.ReadFile(artifact.MustPath("robots/universalrobots/test1.raw"))
1718
test.That(t, err, test.ShouldBeNil)
1819

19-
state, err := readRobotStateMessage(data, logger)
20+
state, err := readRobotStateMessage(context.Background(), data, logger)
2021
test.That(t, err, test.ShouldBeNil)
2122

2223
test.That(t, int(math.Round(state.Joints[0].AngleValues())), test.ShouldEqual, 90)

components/arm/xarm/xarm.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ func (x *xArm) Reconfigure(ctx context.Context, deps resource.Dependencies, conf
166166
}
167167
if x.conn != nil {
168168
if err := x.conn.Close(); err != nil {
169-
x.logger.Warnw("error closing old connection but will continue with reconfiguration", "error", err)
169+
x.logger.CWarnw(ctx, "error closing old connection but will continue with reconfiguration", "error", err)
170170
}
171171
}
172172
x.conn = newConn

components/audioinput/client.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ func (c *client) Read(ctx context.Context) (wave.Audio, func(), error) {
6262
}
6363
defer func() {
6464
if err := stream.Close(ctx); err != nil {
65-
c.logger.Errorw("error closing stream", "error", err)
65+
c.logger.CErrorw(ctx, "error closing stream", "error", err)
6666
}
6767
}()
6868
return stream.Next(ctx)

components/base/kinematicbase/differentialDrive.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ func wrapWithDifferentialDriveKinematics(
5959
// RSDK-4131 will update this so it is no longer necessary
6060
var geometry, boundingSphere spatialmath.Geometry
6161
if len(geometries) > 1 {
62-
ddk.logger.Warn("multiple geometries specified for differential drive kinematic base, only can use the first at this time")
62+
ddk.logger.CWarn(ctx, "multiple geometries specified for differential drive kinematic base, only can use the first at this time")
6363
}
6464
if len(geometries) > 0 {
6565
geometry = geometries[0]
@@ -68,7 +68,7 @@ func wrapWithDifferentialDriveKinematics(
6868
boundingSphere, err = spatialmath.BoundingSphere(geometry)
6969
}
7070
if boundingSphere == nil || err != nil {
71-
logger.Warn("base %s not configured with a geometry, will be considered a point mass for collision detection purposes.")
71+
logger.CWarn(ctx, "base %s not configured with a geometry, will be considered a point mass for collision detection purposes.")
7272
boundingSphere = spatialmath.NewPoint(r3.Vector{}, b.Name().Name)
7373
}
7474

@@ -197,7 +197,7 @@ func (ddk *differentialDriveKinematics) GoToInputs(ctx context.Context, desired
197197
movementErr <- err
198198
return
199199
}
200-
ddk.logger.Infof("current inputs: %v", current)
200+
ddk.logger.CInfof(ctx, "current inputs: %v", current)
201201
}
202202
movementErr <- err
203203
})
@@ -246,7 +246,7 @@ func (ddk *differentialDriveKinematics) issueCommand(ctx context.Context, curren
246246
if err != nil {
247247
return false, err
248248
}
249-
ddk.logger.Debugf("distErr: %.2f\theadingErr %.2f", distErr, headingErr)
249+
ddk.logger.CDebugf(ctx, "distErr: %.2f\theadingErr %.2f", distErr, headingErr)
250250
if distErr > ddk.options.GoalRadiusMM && math.Abs(headingErr) > ddk.options.HeadingThresholdDegrees {
251251
// base is headed off course; spin to correct
252252
err := ddk.Spin(ctx, math.Min(headingErr, ddk.options.MaxSpinAngleDeg), ddk.options.AngularVelocityDegsPerSec, nil)

components/base/kinematicbase/ptgKinematics.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func wrapWithPTGKinematics(
6464

6565
baseTurningRadiusMeters := properties.TurningRadiusMeters
6666

67-
logger.Infof(
67+
logger.CInfof(ctx,
6868
"using baseMillimetersPerSecond %f and baseTurningRadius %f for PTG base kinematics",
6969
baseMillimetersPerSecond,
7070
baseTurningRadiusMeters,
@@ -140,7 +140,7 @@ func (ptgk *ptgBaseKinematics) GoToInputs(ctx context.Context, inputs []referenc
140140
ptgk.inputLock.Unlock()
141141
}()
142142

143-
ptgk.logger.Debugf("GoToInputs going to %v", inputs)
143+
ptgk.logger.CDebugf(ctx, "GoToInputs going to %v", inputs)
144144

145145
selectedPTG := ptgk.ptgs[int(math.Round(inputs[ptgIndex].Value))]
146146
selectedTraj, err := selectedPTG.Trajectory(inputs[trajectoryIndexWithinPTG].Value, inputs[distanceAlongTrajectoryIndex].Value)
@@ -170,7 +170,7 @@ func (ptgk *ptgBaseKinematics) GoToInputs(ctx context.Context, inputs []referenc
170170
// 1) this is the first iteration of the loop, or
171171
// 2) either of the linear or angular velocities has changed
172172
if i == 0 || !(linVel.ApproxEqual(lastLinVel) && angVel.ApproxEqual(lastAngVel)) {
173-
ptgk.logger.Debugf(
173+
ptgk.logger.CDebugf(ctx,
174174
"setting velocity to linear %v angular %v and running velocity step for %s",
175175
linVel,
176176
angVel,
@@ -192,7 +192,7 @@ func (ptgk *ptgBaseKinematics) GoToInputs(ctx context.Context, inputs []referenc
192192
lastAngVel = angVel
193193
}
194194
if !utils.SelectContextOrWait(ctx, timestep) {
195-
ptgk.logger.Debug(ctx.Err().Error())
195+
ptgk.logger.CDebug(ctx, ctx.Err().Error())
196196
// context cancelled
197197
break
198198
}

components/base/sensorcontrolled/sensorcontrolled.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,7 @@ func (sb *sensorBase) Reconfigure(ctx context.Context, deps resource.Dependencie
129129
if err == nil && props.OrientationSupported {
130130
// return first sensor that does not error that satisfies the properties wanted
131131
sb.orientation = ms
132-
sb.logger.Infof("using sensor %s as orientation sensor for base", sb.orientation.Name().ShortName())
132+
sb.logger.CInfof(ctx, "using sensor %s as orientation sensor for base", sb.orientation.Name().ShortName())
133133
break
134134
}
135135
}
@@ -139,7 +139,7 @@ func (sb *sensorBase) Reconfigure(ctx context.Context, deps resource.Dependencie
139139
if err == nil && props.AngularVelocitySupported && props.LinearVelocitySupported {
140140
// return first sensor that does not error that satisfies the properties wanted
141141
sb.velocities = ms
142-
sb.logger.Infof("using sensor %s as velocity sensor for base", sb.velocities.Name().ShortName())
142+
sb.logger.CInfof(ctx, "using sensor %s as velocity sensor for base", sb.velocities.Name().ShortName())
143143
break
144144
}
145145
}

0 commit comments

Comments
 (0)