50 lines
1.1 KiB
Go
50 lines
1.1 KiB
Go
package action
|
|||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
"log"
|
||
|
|
|
||
|
|
"go.temporal.io/sdk/activity"
|
||
|
|
)
|
||
|
|
|
||
|
|
// activityLogger provides logging that works both in and outside Temporal context
|
||
|
|
type activityLogger struct {
|
||
|
|
ctx context.Context
|
||
|
|
}
|
||
|
|
|
||
|
|
func newActivityLogger(ctx context.Context) *activityLogger {
|
||
|
|
return &activityLogger{ctx: ctx}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (l *activityLogger) Info(msg string, args ...interface{}) {
|
||
|
|
if activity.IsActivity(l.ctx) {
|
||
|
|
activity.GetLogger(l.ctx).Info(msg, args...)
|
||
|
|
} else {
|
||
|
|
log.Printf("INFO: "+msg+" %v", args)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (l *activityLogger) Warn(msg string, args ...interface{}) {
|
||
|
|
if activity.IsActivity(l.ctx) {
|
||
|
|
activity.GetLogger(l.ctx).Warn(msg, args...)
|
||
|
|
} else {
|
||
|
|
log.Printf("WARN: "+msg+" %v", args)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (l *activityLogger) Error(msg string, args ...interface{}) {
|
||
|
|
if activity.IsActivity(l.ctx) {
|
||
|
|
activity.GetLogger(l.ctx).Error(msg, args...)
|
||
|
|
} else {
|
||
|
|
log.Printf("ERROR: "+msg+" %v", args)
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
func (l *activityLogger) Debug(msg string, args ...interface{}) {
|
||
|
|
if activity.IsActivity(l.ctx) {
|
||
|
|
activity.GetLogger(l.ctx).Debug(msg, args...)
|
||
|
|
} else {
|
||
|
|
log.Printf("DEBUG: "+msg+" %v", args)
|
||
|
|
}
|
||
|
|
}
|