Skip to content
Merged
5 changes: 5 additions & 0 deletions .changeset/proud-yaks-thank.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@trigger.dev/core": patch
---

Improvements to structured logger and conditional payload logging
5 changes: 3 additions & 2 deletions apps/coordinator/src/checkpointer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { Buildah, Crictl, Exec } from "./exec";
import { setTimeout } from "node:timers/promises";
import { TempFileCleaner } from "./cleaner";
import { numFromEnv, boolFromEnv } from "./util";
import { SimpleStructuredLogger } from "@trigger.dev/core/v3/utils/structuredLogger";

type CheckpointerInitializeReturn = {
canCheckpoint: boolean;
Expand Down Expand Up @@ -86,7 +87,7 @@ export class Checkpointer {
#canCheckpoint = false;
#dockerMode: boolean;

#logger = new SimpleLogger("[checkptr]");
#logger = new SimpleStructuredLogger("checkpointer");
#abortControllers = new Map<string, AbortController>();
#failedCheckpoints = new Map<string, unknown>();
#waitingForRetry = new Set<string>();
Expand Down Expand Up @@ -137,7 +138,7 @@ export class Checkpointer {
return this.#getInitReturn(true);
}

this.#logger.error(testCheckpoint.message, testCheckpoint.error ?? "");
this.#logger.error(testCheckpoint.message, { error: testCheckpoint.error });
return this.#getInitReturn(false);
}

Expand Down
16 changes: 8 additions & 8 deletions apps/coordinator/src/exec.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { SimpleLogger } from "@trigger.dev/core/v3/apps";
import { SimpleStructuredLogger } from "@trigger.dev/core/v3/utils/structuredLogger";
import { randomUUID } from "crypto";
import { homedir } from "os";
import { type Result, x } from "tinyexec";
Expand All @@ -18,23 +18,23 @@ class TinyResult {
}

interface ExecOptions {
logger?: SimpleLogger;
logger?: SimpleStructuredLogger;
abortSignal?: AbortSignal;
logOutput?: boolean;
trimArgs?: boolean;
neverThrow?: boolean;
}

export class Exec {
private logger: SimpleLogger;
private logger: SimpleStructuredLogger;
private abortSignal: AbortSignal | undefined;

private logOutput: boolean;
private trimArgs: boolean;
private neverThrow: boolean;

constructor(opts: ExecOptions) {
this.logger = opts.logger ?? new SimpleLogger();
this.logger = opts.logger ?? new SimpleStructuredLogger("exec");
this.abortSignal = opts.abortSignal;

this.logOutput = opts.logOutput ?? true;
Expand Down Expand Up @@ -103,15 +103,15 @@ interface BuildahOptions {

export class Buildah {
private id: string;
private logger: SimpleLogger;
private logger: SimpleStructuredLogger;
private exec: Exec;

private containers = new Set<string>();
private images = new Set<string>();

constructor(opts: BuildahOptions) {
this.id = opts.id ?? randomUUID();
this.logger = new SimpleLogger(`[buildah][${this.id}]`);
this.logger = new SimpleStructuredLogger("buildah", undefined, { id: this.id });

this.exec = new Exec({
logger: this.logger,
Expand Down Expand Up @@ -220,14 +220,14 @@ interface CrictlOptions {

export class Crictl {
private id: string;
private logger: SimpleLogger;
private logger: SimpleStructuredLogger;
private exec: Exec;

private archives = new Set<string>();

constructor(opts: CrictlOptions) {
this.id = opts.id ?? randomUUID();
this.logger = new SimpleLogger(`[crictl][${this.id}]`);
this.logger = new SimpleStructuredLogger("crictl", undefined, { id: this.id });

this.exec = new Exec({
logger: this.logger,
Expand Down
Loading
Loading