Files
bsky-social-app/src/logger
Samuel Newman 93c4719a21 Check handle as you type (#8601)
* check handle as you type

* metrics

* add metric types

* fix overflow

* only check reserved handles for bsky.social, fix test

* change validation check name

* tweak input

* move ghosttext component to textfield

* tweak styles to try and match latest

* add suggestions

* improvements, metrics

* share logic between typeahead and next button

* Apply suggestions from code review

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>

* update checks, disable button if unavailable

* convert to lowercase

* fix bug with checkHandleAvailability

* add gate

* move files around to make clearer

* fix bad import

* Fix flashing next button

* Enable for TF

---------

Co-authored-by: surfdude29 <149612116+surfdude29@users.noreply.github.com>
Co-authored-by: Hailey <me@haileyok.com>
Co-authored-by: Eric Bailey <git@esb.lol>
2025-08-07 17:01:01 -05:00
..
2025-07-30 12:33:40 -05:00
2025-07-30 12:33:40 -05:00
2025-07-30 12:33:40 -05:00
2025-02-28 12:09:36 -06:00
2025-08-07 17:01:01 -05:00
2025-02-28 12:09:36 -06:00
2025-02-28 12:09:36 -06:00

Logger

Simple logger for Bluesky.

At a Glance

import { logger, Logger } from '#/logger'

// or, optionally create new instance with custom context
// const logger = Logger.create(Logger.Context.Notifications)

// for dev-only logs
logger.debug(message, {})

// for production breadcrumbs
logger.info(message, {})

// seldom used, prefer `info`
logger.log(message, {})

// for non-error issues to look into, seldom used, prefer `error`
logger.warn(message, {})

// for known errors without an exception, use a string
logger.error(`known error`, {})

// for unknown exceptions
try {
} catch (e) {
  logger.error(e, {message: `explain error`}])
}

Log Levels

Log level defaults to info. You can set this via the EXPO_PUBLIC_LOG_LEVEL env var in .env.local.

Filtering debugs by context

Debug logs are dev-only, and not enabled by default. Once enabled, they can get noisy. So you can filter them by setting the EXPO_PUBLIC_LOG_DEBUG env var e.g. EXPO_PUBLIC_LOG_DEBUG=notifications. These values can be comma-separated and include wildcards.