Request Tracker
Request Tracker is a small library for managing context between services. For example, setting and retrieving important metadata shared between services, such as user ID's, request ID's, and other important information.
The request tracker wraps around a logger instance, so that you don't have to keep setting the request ID/user ID etc everywhere they're needed. Set it once and forget about it!
Usage
package main
import requestTracker "github.com/pingponglabs/mediamagic-platform/libs/request-tracker"
func main() {
rt := requestTracker.NewLogger()
logger := rt.WithUserID("abc123").WithRequestID("xyz789").GetLogger()
}
Example from context
package main
import (
"context"
"log"
requestTracker "github.com/pingponglabs/mediamagic-platform/libs/request-tracker"
)
type service struct {}
func (s *service) handler(ctx context.Context, _ *pb.Request) (*pb.Response, error) {
rt := requestTracker.NewLogger()
logger := rt.WithRequestIDFromContext(ctx).WithUserIDFromContext(ctx).GetLogger()
logger.Info("Hello world!")
return nil, nil
}
Last updated