> ## Documentation Index
> Fetch the complete documentation index at: https://fentaris.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Logger

> Reference for Fentaris logging primitives.

Fentaris ships a structured logger with pluggable drivers.

## Logger

```ts theme={null} theme={"theme":{"light":"github-light","dark":"github-dark"}}
new Logger({
  level,
  driver,
  context,
  onWrite,
  redact,
});
```

### Options

* `level`: `debug`, `info`, `warn`, `error`, `fatal`.
* `driver`: implements `write(entry)`.
* `context`: base context merged into every log.
* `onWrite`: callback for side effects.
* `redact`: `true` by default for sensitive keys, `false` to disable, or an object with `keys`, `paths`, `replacement`, and a custom `redact(value, path, key)` callback.

Redaction runs before entries reach the configured driver or `onWrite`. Fentaris redacts common credential fields such as tokens, secrets, passwords, authorization headers, API keys, and credential values by default. It also masks high-confidence token-like values, including bearer tokens, JWT-like strings, and GitHub-style tokens, even when they appear under generic fields such as `input`, `body`, or `query`.

### Methods

* `debug(message, metadata?)`
* `info(message, metadata?)`
* `warn(message, metadata?)`
* `error(message, metadata?)`
* `fatal(message, metadata?)`
* `child(context)` to derive a logger.
* `annotate(key, value)` to add metadata.
* `setTag(key, value)` to tag entries.

## ConsoleLoggerDriver

```ts theme={null} theme={"theme":{"light":"github-light","dark":"github-dark"}}
new ConsoleLoggerDriver();
```

Writes logs to stdout using structured metadata.
