@arki/log
archivefor @arki/[email protected] · Tier 1: the stack
Structured logging primitives for ARKI — severity levels, batching, distributed-tracing hooks, and Pino-backed transports.
Install
bun add @arki/[email protected]Other package managers
npm install @arki/[email protected]
pnpm add @arki/[email protected]
yarn add @arki/[email protected]Release health for @arki/[email protected]
Doc examples
No example report was recorded for this version.
Open gaps
6 release checks fail
- check
file-llms-txt - check
file-agents-md - check
file-agent-guide - check
readme-h2-order - check
pkg-engines - check
files-ship-dist-docs
Used by demos
No demo uses this package yet.
Runtimes
No engines field, so no runtime requirement is declared.
Benchmarks
No benchmarks are published for this version.
README
Structured logging primitives for ARKI — severity levels, batching, distributed-tracing hooks, and Pino-backed transports.
Installation
npm install @arki/log
# or
bun add @arki/log
# or
pnpm add @arki/logUsage
Basic logging
import { Logger } from '@arki/log';
const logger = new Logger('my-service');
logger.info('Application started');
logger.debug('Debug information', { userId: 'usr_123' });
logger.warn('Resource running low', { resource: 'memory', available: '10%' });
logger.error('Failed to process request', { error: new Error('Connection refused') });Root logger and child loggers
import { createLogger, rootLogger } from '@arki/log';
rootLogger.info('Application starting');
const apiLogger = createLogger('api');
apiLogger.info('API initialized');
const userLogger = apiLogger.child('user');
userLogger.info('User logged in', { userId: 'usr_123' });Global configuration
import { configuration } from '@arki/log';
configuration.setDebug('api,database,auth');
configuration.configureBatching({
batchLogging: true,
maxBatchSize: 50,
autoFlushMs: 3000,
});Batched logging
import { Logger } from '@arki/log';
const logger = new Logger('billing');
logger.enableBatchLogging();
logger.info('Event 1');
logger.info('Event 2');
await logger.flush();
await logger.disableBatchLogging();Distributed tracing
import { Logger } from '@arki/log';
const logger = new Logger('service-a');
logger.setTraceContext('trace-abc', 'span-1');
logger.info('Processing request', { requestId: 'req_123' });
const childLogger = logger.child('sub-component');
childLogger.info('Sub-component processing');debug adapter
The @arki/log/debug entry re-exports the debug package as a default + named export for ergonomic namespacing:
import debug from '@arki/log/debug';
const log = debug('acme:billing');
log('charge', { amount: 1000 });Environment variables
DEBUG— comma-separated namespace patterns to set to DEBUG level.LOG_LEVEL— default severity (TRACE,DEBUG,INFO,WARN,ERROR,FATAL).NODE_ENV— whenproduction, switches to production-formatted output.SERVICE_NAME/SERVICE_CONTEXT_NAME/HOSTNAME— service identity for Cloud Logging.SERVICE_CONTEXT_VERSION— service version for Cloud Logging.
API
Logger— main class. Methods:trace,debug,info,warn,error,fatal,child,withAttribute,setSeverity,setTraceContext,enableBatchLogging,disableBatchLogging,flush.rootLogger— process-wide singleton.createLogger(name, attributes?)— named child of the root logger.configuration— global config withsetDebug,configureBatching,getSeverity, etc.Severity,SeverityName— severity-level constants.AsyncTransport— interface for async log sinks.LogRecord,Attributes,Body,SeverityKind,SeverityText— core types.
Documentation
@arki/log is framework-agnostic and works on its own. When you compose
it with the @arki/dot
application framework, see packages/dot/docs/ for plugin authoring,
lifecycle, and diagnostics.
License
MIT — see LICENSE.
Public imports
This version has no API index.