# Logging

Stream Chat builds detached loggers internally. Attach your log handler via `logHandlerFunction:` on the client constructor. Listeners on `Logger.root` will **not** receive any stream_chat records.

```dart
import 'package:flutter/foundation.dart'; // kDebugMode, debugPrint
import 'package:logging/logging.dart';
import 'package:stream_chat/stream_chat.dart';

final client = StreamChatClient(
  'YOUR_API_KEY',
  logLevel: kDebugMode ? Level.ALL : Level.WARNING, // default is Level.WARNING
  logHandlerFunction: (LogRecord record) {
    debugPrint(
      '${record.time} '
      '[${record.level.name}] '
      '${record.loggerName}: ${record.message}',
    );
    if (record.error != null) debugPrint('  error: ${record.error}');
    if (record.stackTrace != null) debugPrint('  trace: ${record.stackTrace}');
  },
);
```

> The default handler is `StreamChatClient.defaultLogHandler`, which prints with emoji level prefixes. Provide your own `logHandlerFunction` only when you need to route to a different sink (Sentry, Crashlytics, etc.).

## Sentry integration

```dart
import 'package:logging/logging.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
import 'package:stream_chat/stream_chat.dart';

void _sentryLogHandler(LogRecord record) {
  final sentryLevel = switch (record.level) {
    Level.SHOUT || Level.SEVERE => SentryLevel.fatal,
    Level.WARNING => SentryLevel.warning,
    Level.INFO || Level.CONFIG => SentryLevel.info,
    _ => SentryLevel.debug,
  };

  Sentry.captureMessage(
    '[${record.loggerName}] ${record.message}',
    level: sentryLevel,
  );

  if (record.error case final error?) {
    Sentry.captureException(error, stackTrace: record.stackTrace);
  }
}

final client = StreamChatClient(
  'YOUR_API_KEY',
  logLevel: Level.INFO,
  logHandlerFunction: _sentryLogHandler,
);
```


---

This page was last updated at 2026-06-09T15:44:07.932Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/flutter/guides/logging/](https://getstream.io/chat/docs/sdk/flutter/guides/logging/).