@goobits/logger
v1.0.0
Published
Unified logging utility for @goobits packages and applications
Maintainers
Readme
@goobits/logger
Unified logging utility for @goobits packages and applications. Provides structured logging with timestamps, log levels, and module-specific prefixes.
Features
- 📝 Structured Logging - Consistent log format across your application
- ⏰ Timestamps - Automatic ISO 8601 timestamps on all logs
- 🏷️ Module Prefixes - Easy identification of log sources
- 📊 Log Levels - DEBUG, INFO, WARN, ERROR with configurable thresholds
- 🌍 Environment Aware - Works in browser and Node.js
- 👶 Child Loggers - Create loggers with inherited context
- ⚙️ Configurable - Runtime configuration of log levels and behavior
Installation
pnpm add @goobits/logger
# or
npm install @goobits/loggerQuick Start
Function-based API
import { createLogger } from '@goobits/logger'
const logger = createLogger('MyModule')
logger.info('Application started')
// [2025-11-16T23:49:32.369Z] [MyModule] Application started
logger.error('Failed to connect', { host: 'localhost', port: 5432 })
// [2025-11-16T23:49:32.370Z] [MyModule] Failed to connect { host: 'localhost', port: 5432 }Class-based API
import { Logger } from '@goobits/logger'
const logger = new Logger('MyModule')
logger.debug('Debug information')
logger.info('Informational message')
logger.warn('Warning message')
logger.error('Error message')API Reference
Log Levels
import { LogLevel } from '@goobits/logger'
LogLevel.DEBUG // 0 - Detailed debugging
LogLevel.INFO // 1 - General information
LogLevel.WARN // 2 - Warning messages
LogLevel.ERROR // 3 - Error messages
LogLevel.NONE // 4 - Disable all loggingCreating Loggers
Function API:
import { createLogger } from '@goobits/logger'
const logger = createLogger('ModuleName')
const loggerWithContext = createLogger('Auth', { userId: 123 })Class API:
import { Logger } from '@goobits/logger'
const logger = new Logger('ModuleName')
const loggerWithContext = new Logger('Auth', { userId: 123 })Configuration
import { LoggerConfig, LogLevel } from '@goobits/logger'
// Set global log level
LoggerConfig.setLogLevel(LogLevel.DEBUG)
// Enable/disable timestamps
LoggerConfig.setShowTimestamps(false)
// Configure multiple settings
LoggerConfig.configure({
enabled: true,
level: LogLevel.INFO,
showTimestamps: true
})License
MIT © Goobits
Related Packages
- @goobits/config - Configuration utilities
- @goobits/forms - Form components
- @goobits/store - E-commerce components
