@vielzeug/logit
v3.0.4
Published
--- description: Browser/Node logger with levels, namespaces, timing helpers, and optional remote transport. package: logit category: logging keywords: [logging, console, structured, scoped, remote-logging, levels, namespaces] related: [fetchit, eventit,
Readme
description: Browser/Node logger with levels, namespaces, timing helpers, and optional remote transport. package: logit category: logging keywords: [logging, console, structured, scoped, remote-logging, levels, namespaces] related: [fetchit, eventit, workit] exports: [createLogger]
@vielzeug/logit
Browser/Node logger with levels, namespaces, timing helpers, and optional remote transport.
Package: @vielzeug/logit · Category: Logging
Key exports: createLogger
When to use: Browser/Node logger with levels, namespaces, timing helpers, and optional remote transport.
Related: @vielzeug/fetchit · @vielzeug/eventit · @vielzeug/workit
@vielzeug/logit is part of Vielzeug and ships as a zero-dependency TypeScript package with ESM+CJS output.
Installation
pnpm add @vielzeug/logit
npm install @vielzeug/logit
yarn add @vielzeug/logitQuick Start
import { createLogger, Logit } from '@vielzeug/logit';
Logit.info({ port: 3000 }, 'Server started');
Logit.warn('High memory usage');
Logit.error(new Error('connection lost')); // auto-serializes Error
Logit.fatal('unrecoverable state');
const api = Logit.scope('api');
api.info({ method: 'GET', path: '/users' }, 'incoming request');
// pin fields to every call in a request context
const reqLog = api.withBindings({ requestId: 'abc-123' });
reqLog.info('processing');
reqLog.warn('slow query');
const log = createLogger({ logLevel: 'warn', namespace: 'Worker' });
if (log.enabled('debug')) {
log.debug({ diagnostics: buildDiagnostics() }, 'diagnostics');
}
await log.time('sync-task', async () => {
await runTask();
});Documentation
License
MIT © Helmuth Saatkamp — part of the Vielzeug monorepo.
