API reference › @evolu/common › Console › 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",
]);