| 1557 | |
| 1558 | /** @internal */ |
| 1559 | export const loggerWithSpanAnnotations = <Message, Output>(self: Logger<Message, Output>): Logger<Message, Output> => |
| 1560 | internalLogger.mapInputOptions(self, (options: Logger.Options<Message>) => { |
| 1561 | const span = Option.flatMap(fiberRefs.get(options.context, core.currentContext), Context.getOption(tracer.spanTag)) |
| 1562 | if (span._tag === "None") { |
| 1563 | return options |
| 1564 | } |
| 1565 | return { |
| 1566 | ...options, |
| 1567 | annotations: pipe( |
| 1568 | options.annotations, |
| 1569 | HashMap.set("effect.traceId", span.value.traceId as unknown), |
| 1570 | HashMap.set("effect.spanId", span.value.spanId as unknown), |
| 1571 | span.value._tag === "Span" ? HashMap.set("effect.spanName", span.value.name as unknown) : identity |
| 1572 | ) |
| 1573 | } |
| 1574 | }) |
| 1575 | |
| 1576 | /** @internal */ |
| 1577 | export const currentLoggers: FiberRef.FiberRef< |