refactor(core): replace legacy logger with Effect logging (#31310)

This commit is contained in:
Dax
2026-06-08 15:41:56 -04:00
committed by GitHub
parent 0a7cb20e66
commit c06ad7c881
152 changed files with 698 additions and 2243 deletions
@@ -4,8 +4,7 @@ import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner"
import { AppLayer } from "../../src/effect/app-runtime"
import { EffectBridge } from "@/effect/bridge"
import { InstanceRef } from "../../src/effect/instance-ref"
import * as EffectLogger from "@opencode-ai/core/effect/logger"
import * as Observability from "@opencode-ai/core/effect/observability"
import * as Observability from "@opencode-ai/core/observability"
import { attach } from "../../src/effect/run-service"
import { TestInstance } from "../fixture/fixture"
import { testEffect } from "../lib/effect"
@@ -14,14 +13,12 @@ const it = testEffect(CrossSpawnSpawner.defaultLayer)
function check(loggers: ReadonlySet<Logger.Logger<unknown, any>>) {
return {
defaultLogger: loggers.has(Logger.defaultLogger),
tracerLogger: loggers.has(Logger.tracerLogger),
effectLogger: loggers.has(EffectLogger.logger),
size: loggers.size,
}
}
it.live("makeRuntime installs EffectLogger through Observability.layer", () =>
it.live("makeRuntime installs the observability logger", () =>
Effect.gen(function* () {
class Dummy extends Context.Service<Dummy, { readonly current: () => Effect.Effect<ReturnType<typeof check>> }>()(
"@test/Dummy",
@@ -40,17 +37,15 @@ it.live("makeRuntime installs EffectLogger through Observability.layer", () =>
Effect.provide(Layer.provideMerge(layer, Observability.layer)),
)
expect(current.effectLogger).toBe(true)
expect(current.defaultLogger).toBe(false)
expect(current.size).toBeGreaterThan(0)
}),
)
it.live("AppLayer also installs EffectLogger through Observability.layer", () =>
it.live("AppLayer also installs the observability logger", () =>
Effect.gen(function* () {
const current = yield* Effect.map(Effect.service(Logger.CurrentLoggers), check).pipe(Effect.provide(AppLayer))
expect(current.effectLogger).toBe(true)
expect(current.defaultLogger).toBe(false)
expect(current.size).toBeGreaterThan(0)
}),
)
@@ -98,8 +93,7 @@ it.instance(
const result = yield* Fiber.join(fiber)
expect(result.directory).toBe(test.directory)
expect(result.effectLogger).toBe(true)
expect(result.defaultLogger).toBe(false)
expect(result.size).toBeGreaterThan(0)
}).pipe(Effect.provide(Observability.layer)),
{ git: true },
)