mirror of
https://github.com/superseriousbusiness/gotosocial.git
synced 2025-11-28 15:23:32 -06:00
[feature] Add a request ID and include it in logs (#1476)
This adds a lightweight form of tracing to GTS. Each incoming request is assigned a Request ID which we then pass on and log in all our log lines. Any function that gets called downstream from an HTTP handler should now emit a requestID=value pair whenever it logs something. Co-authored-by: kim <grufwub@gmail.com>
This commit is contained in:
parent
b5993095fa
commit
68e6d08c76
118 changed files with 813 additions and 591 deletions
|
|
@ -42,9 +42,9 @@ var Orphaned action.GTSAction = func(ctx context.Context) error {
|
|||
}
|
||||
|
||||
if dry /* dick heyyoooooo */ {
|
||||
log.Infof("DRY RUN: %d items are orphaned and eligible to be pruned", pruned)
|
||||
log.Infof(ctx, "DRY RUN: %d items are orphaned and eligible to be pruned", pruned)
|
||||
} else {
|
||||
log.Infof("%d orphaned items were pruned", pruned)
|
||||
log.Infof(ctx, "%d orphaned items were pruned", pruned)
|
||||
}
|
||||
|
||||
return prune.shutdown(ctx)
|
||||
|
|
|
|||
|
|
@ -49,9 +49,9 @@ var Remote action.GTSAction = func(ctx context.Context) error {
|
|||
total := pruned + uncached
|
||||
|
||||
if dry /* dick heyyoooooo */ {
|
||||
log.Infof("DRY RUN: %d remote items are unused/stale and eligible to be pruned", total)
|
||||
log.Infof(ctx, "DRY RUN: %d remote items are unused/stale and eligible to be pruned", total)
|
||||
} else {
|
||||
log.Infof("%d unused/stale remote items were pruned", pruned)
|
||||
log.Infof(ctx, "%d unused/stale remote items were pruned", pruned)
|
||||
}
|
||||
|
||||
return prune.shutdown(ctx)
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ import (
|
|||
|
||||
// Start creates and starts a gotosocial server
|
||||
var Start action.GTSAction = func(ctx context.Context) error {
|
||||
_, err := maxprocs.Set(maxprocs.Logger(log.Debugf))
|
||||
_, err := maxprocs.Set(nil)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to set CPU limits from cgroup: %s", err)
|
||||
}
|
||||
|
|
@ -156,6 +156,9 @@ var Start action.GTSAction = func(ctx context.Context) error {
|
|||
|
||||
// attach global middlewares which are used for every request
|
||||
router.AttachGlobalMiddleware(
|
||||
middleware.AddRequestID(config.GetRequestIDHeader()),
|
||||
// note: hooks adding ctx fields must be ABOVE
|
||||
// the logger, otherwise won't be accessible.
|
||||
middleware.Logger(),
|
||||
middleware.UserAgent(),
|
||||
middleware.CORS(),
|
||||
|
|
@ -237,13 +240,13 @@ var Start action.GTSAction = func(ctx context.Context) error {
|
|||
sigs := make(chan os.Signal, 1)
|
||||
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
|
||||
sig := <-sigs // block until signal received
|
||||
log.Infof("received signal %s, shutting down", sig)
|
||||
log.Infof(ctx, "received signal %s, shutting down", sig)
|
||||
|
||||
// close down all running services in order
|
||||
if err := gts.Stop(ctx); err != nil {
|
||||
return fmt.Errorf("error closing gotosocial service: %s", err)
|
||||
}
|
||||
|
||||
log.Info("done! exiting...")
|
||||
log.Info(ctx, "done! exiting...")
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ var Start action.GTSAction = func(ctx context.Context) error {
|
|||
sigs := make(chan os.Signal, 1)
|
||||
signal.Notify(sigs, os.Interrupt, syscall.SIGTERM)
|
||||
sig := <-sigs
|
||||
log.Infof("received signal %s, shutting down", sig)
|
||||
log.Infof(ctx, "received signal %s, shutting down", sig)
|
||||
|
||||
testrig.StandardDBTeardown(dbService)
|
||||
testrig.StandardStorageTeardown(storageBackend)
|
||||
|
|
@ -165,6 +165,6 @@ var Start action.GTSAction = func(ctx context.Context) error {
|
|||
return fmt.Errorf("error closing gotosocial service: %s", err)
|
||||
}
|
||||
|
||||
log.Info("done! exiting...")
|
||||
log.Info(ctx, "done! exiting...")
|
||||
return nil
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue