blob: 53bd9ea1ca47f4fa0706200f065085f1066c1ef8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
use fmt;
export type teetracer = struct {
tracer,
sinks: []*tracer,
};
export fn tee(sinks: *tracer...) teetracer = {
return teetracer {
log = &tee_log,
sinks = sinks,
};
};
export fn tee_log(
tr: *tracer,
ctx: nullable *context,
lvl: level,
fmt: str,
fields: fmt::field...
) void = {
const tr = tr: *teetracer;
for (let i = 0z; i < len(tr.sinks); i += 1) {
log(tr.sinks[i], ctx, lvl, fmt, fields...);
};
};
|