diff options
author | Elizabeth <me@liz.coffee> | 2025-06-02 22:54:40 -0700 |
---|---|---|
committer | Elizabeth <me@liz.coffee> | 2025-06-02 22:54:40 -0700 |
commit | 0662f62db82026e44cfff7ec42776eb6c2c06cfa (patch) | |
tree | f59bc8eb82e5c075d2c59e547a42ceefdc1c3ffc /u/trace/util.ts | |
parent | 2ae2ebc8aa7c4600f499ab7d2264dcb1d16db4ae (diff) | |
download | ci-0662f62db82026e44cfff7ec42776eb6c2c06cfa.tar.gz ci-0662f62db82026e44cfff7ec42776eb6c2c06cfa.zip |
Significant logging improvements
Diffstat (limited to 'u/trace/util.ts')
-rw-r--r-- | u/trace/util.ts | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/u/trace/util.ts b/u/trace/util.ts index 3f9e5b8..e2200b9 100644 --- a/u/trace/util.ts +++ b/u/trace/util.ts @@ -1,16 +1,21 @@ -import type { - Callable, - IMetric, - ITraceableMapper, - ITraceableTuple, - MetricsTraceSupplier, +import { +ANSI, + type Callable, + type IMetric, + type ITraceableMapper, + type ITraceableTuple, + type MetricsTraceSupplier, } from "@emprespresso/pengueno"; export class TraceUtil { static withTrace<T, Trace>( trace: string, + ansi?: Array<keyof typeof ANSI> ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { - return (t) => [t.get(), `[${trace}]`]; + if (ansi) { + return (t) => [t.get(), `${ansi.join("")}${trace}${ANSI.RESET}`]; + } + return (t) => [t.get(), trace]; } static withMetricTrace<T, Trace extends MetricsTraceSupplier>( @@ -22,13 +27,13 @@ export class TraceUtil { static withFunctionTrace<F extends Callable, T, Trace>( f: F, ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { - return TraceUtil.withTrace(f.name); + return TraceUtil.withTrace(`fn.${f.name}`); } static withClassTrace<C extends object, T, Trace>( c: C, ): ITraceableMapper<T, ITraceableTuple<T, Trace | Array<Trace>>, Trace> { - return TraceUtil.withTrace(c.constructor.name); + return TraceUtil.withTrace(`class.${c.constructor.name}`); } static promiseify<T, U, Trace>( |