npm.io
0.1.0 • Published 3d ago

@bstockwelldev/logger

Licence
MIT
Version
0.1.0
Deps
0
Size
27 kB
Vulns
0
Weekly
0

@bstockwelldev/logger

Structured JSON logging with level gating, request context, and an injectable Sentry sink.

Install

pnpm add @bstockwelldev/logger @bstockwelldev/api-errors

Usage

import { createLogger, createErrorMeta } from '@bstockwelldev/logger';

export const logger = createLogger({
  sink: {
    isConfigured: () => Boolean(process.env.NEXT_PUBLIC_SENTRY_DSN),
    captureException: (error, ctx) => sentry.captureException(error, ctx),
    addBreadcrumb: (b) => sentry.addBreadcrumb(b),
  },
});

logger.info('Ready', { feature: 'api' });
logger.error('Failed', { ...createErrorMeta(err), userId });

Environment

Variable Effect
LOG_LEVEL error | warn | info | debug (default info)
LOGGER_TEST_REQUEST_ID Injects requestId in tests

See CONSUMER.md.

Keywords