API reference@evolu/commonConsole › createConsoleFormatter

function createConsoleFormatter(
  __namedParameters?: Partial<TimeDep>,
): (config: ConsoleFormatterConfig) => ConsoleFormatter;

Defined in: packages/common/src/Console.ts:536

Creates a ConsoleFormatter for ConsoleConfig.formatter.

Prepends timestamps and path prefixes to entry args.

Example

import {
  createConsoleFormatter,
  Millis,
  testCreateTime,
  type ConsoleEntry,
} from "@evolu/common";

const time = testCreateTime({ startAt: Millis.orThrow(0) });
const formatRelative = createConsoleFormatter({ time })({
  timestampFormat: "relative",
});
const connected: ConsoleEntry = {
  method: "log",
  path: ["relay"],
  args: ["connected"],
};

expect(formatRelative(connected)).toEqual(["+0.000s [relay]", "connected"]);
time.advance("1.5s");
expect(
  formatRelative({
    ...connected,
    path: ["relay", "db"],
    args: ["opened"],
  }),
).toEqual(["+1.500s [relay] [db]", "opened"]);

const localTimestamp = new globalThis.Date(
  2026,
  0,
  28,
  14,
  30,
  15,
  123,
).getTime();
const formatAbsolute = createConsoleFormatter({
  time: testCreateTime({ startAt: Millis.orThrow(localTimestamp) }),
})({ timestampFormat: "absolute" });
expect(formatAbsolute(connected)).toEqual([
  "14:30:15.123 [relay]",
  "connected",
]);