summaryrefslogtreecommitdiff
path: root/u/trace/util.ts
diff options
context:
space:
mode:
authorElizabeth <me@liz.coffee>2025-06-02 22:54:40 -0700
committerElizabeth <me@liz.coffee>2025-06-02 22:54:40 -0700
commit0662f62db82026e44cfff7ec42776eb6c2c06cfa (patch)
treef59bc8eb82e5c075d2c59e547a42ceefdc1c3ffc /u/trace/util.ts
parent2ae2ebc8aa7c4600f499ab7d2264dcb1d16db4ae (diff)
downloadci-0662f62db82026e44cfff7ec42776eb6c2c06cfa.tar.gz
ci-0662f62db82026e44cfff7ec42776eb6c2c06cfa.zip
Significant logging improvements
Diffstat (limited to 'u/trace/util.ts')
-rw-r--r--u/trace/util.ts23
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>(