From b462d64a003b99328e5b0f4e2db2442b36860ffd Mon Sep 17 00:00:00 2001 From: Nathan Flurry Date: Tue, 4 Nov 2025 22:40:00 +0000 Subject: [PATCH] chore(rivetkit): log runner id with actor logs --- rivetkit-typescript/packages/rivetkit/src/actor/driver.ts | 3 +++ rivetkit-typescript/packages/rivetkit/src/actor/instance.ts | 3 +++ .../packages/rivetkit/src/drivers/engine/actor-driver.ts | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/rivetkit-typescript/packages/rivetkit/src/actor/driver.ts b/rivetkit-typescript/packages/rivetkit/src/actor/driver.ts index 25f9aeee8d..94b8aafe7f 100644 --- a/rivetkit-typescript/packages/rivetkit/src/actor/driver.ts +++ b/rivetkit-typescript/packages/rivetkit/src/actor/driver.ts @@ -50,4 +50,7 @@ export interface ActorDriver { // Serverless /** This handles the serverless start request. This should manage the lifecycle of the runner tied to the request lifecycle. */ serverlessHandleStart?(c: HonoContext): Promise; + + /** Extra properties to add to logs for each actor. */ + getExtraActorLogParams?(): Record; } diff --git a/rivetkit-typescript/packages/rivetkit/src/actor/instance.ts b/rivetkit-typescript/packages/rivetkit/src/actor/instance.ts index 6227efa40f..a2c350eacf 100644 --- a/rivetkit-typescript/packages/rivetkit/src/actor/instance.ts +++ b/rivetkit-typescript/packages/rivetkit/src/actor/instance.ts @@ -328,6 +328,9 @@ export class ActorInstance { actorId, }; + const extraLogParams = actorDriver.getExtraActorLogParams?.(); + if (extraLogParams) Object.assign(logParams, extraLogParams); + this.#log = getBaseLogger().child( Object.assign( getIncludeTarget() ? { target: "actor" } : {}, diff --git a/rivetkit-typescript/packages/rivetkit/src/drivers/engine/actor-driver.ts b/rivetkit-typescript/packages/rivetkit/src/drivers/engine/actor-driver.ts index 5cfa627612..c4c9462ce1 100644 --- a/rivetkit-typescript/packages/rivetkit/src/drivers/engine/actor-driver.ts +++ b/rivetkit-typescript/packages/rivetkit/src/drivers/engine/actor-driver.ts @@ -655,4 +655,8 @@ export class EngineActorDriver implements ActorDriver { await this.#runnerStopped.promise; }); } + + getExtraActorLogParams(): Record { + return { runnerId: this.#runner.runnerId ?? "-" }; + } }