cli/logger.ts

CLI logger wrapping Logger with semantic output methods.

Why wrapper, not subclass: Logger has variadic ...args methods, CLI adds single-string semantic methods. Mixing calling conventions on one class is confusing. Composition keeps both APIs clean.

Why Logger prefixes for error/warn: Unifies error/warn visual style across CLI and backend. CLI-specific methods (success/skip/step/header) add their own semantic prefixes via logger.info().

Declarations
#

2 declarations

view source

CliLogger
#

cli/logger.ts view source

CliLogger

error

Logs an error via Logger (gets Logger's error prefix).

type (...args: Array<unknown>) => void

warn

Logs a warning via Logger (gets Logger's warn prefix).

type (...args: Array<unknown>) => void

info

Logs info via Logger (gets Logger's label prefix).

type (...args: Array<unknown>) => void

debug

Logs debug via Logger (gets Logger's debug prefix).

type (...args: Array<unknown>) => void

raw

Logs raw output via Logger (no prefix, no level filtering).

type (...args: Array<unknown>) => void

success

Logs a success message with [done] prefix at info level.

type (msg: string) => void

skip

Logs a skip message with [skip] prefix at info level.

type (msg: string) => void

step

Logs a step message with ==> prefix at info level.

type (msg: string) => void

header

Logs a header with === title === decoration at info level.

type (title: string) => void

dim

Logs a dimmed message at info level.

type (msg: string) => void

logger

The underlying Logger instance.

type Logger

create_cli_logger
#

cli/logger.ts view source

(logger: Logger): CliLogger

Creates a CLI logger wrapping a Logger with semantic output methods.

logger

the Logger instance to wrap

type Logger

returns

CliLogger

a CliLogger with CLI semantic methods mapped to Logger levels