# LoggerChannelRegistry

`class` in `services` · v0.8.2

<https://docs.seedcord.org/packages/services/0.8.2/classes/logger-channel-registry>

Manages Winston logger instances per channel with caching.

Stores channel configuration and creates transports for each channel with environment-aware defaults.

```ts
class LoggerChannelRegistry
```

## Properties

### instance

```ts
public static instance: LoggerChannelRegistry
```

Gets the singleton instance of the registry.

## Methods

### configure

```ts
public configure(
    config: Partial<LoggerConfiguration>
): void
```

Updates global logger configuration and clears cache.

### get

```ts
public get(channel: string): WinstonInstance
```

Gets or creates a Winston logger instance for the given channel.

### getChannels

```ts
public getChannels(): string[]
```

Returns a list of all known channels (configured or cached).

### getDefaultChannel

```ts
public getDefaultChannel(): string
```

Returns the name of the default channel.

### getLogFilePath

```ts
public getLogFilePath(
    channel: string
): string | null
```

Gets the log file path for a specific channel, if one exists.

### installSink

```ts
public installSink(
    sink: ILoggerSink,
    options?: { muteConsole?: boolean }
): ILoggerSinkHandle
```

Installs a custom sink to capture log output across all channels.

Useful for routing logs to custom destinations like TUIs or remote services.
