A robust logging service for Node.js applications built on top of Pino, providing enhanced console logging capabilities with pretty formatting.
- Built on top of the high-performance Pino logger
- Console method overriding (
log
,error
,warn
,info
,debug
) - Pretty printing with colorization
- ISO timestamp formatting
- Automatic error object handling
- Configurable log levels
- Maintains original console references
npm install @vortus-solutions/logger-service
- Node.js >= 14.0.0
const logger = require('@vortus-solutions/logger-service');
// Regular logging
console.log('Hello World'); // Will use enhanced logging
// Object logging
console.log({ user: 'john', action: 'login' });
// Error logging
console.error(new Error('Something went wrong'));
// Other log levels
console.warn('Warning message');
console.info('Info message');
console.debug('Debug message');
If you need to access the original console methods:
console.original.log('Using original console.log');
The logger can be configured through environment variables:
Variable | Default | Description |
---|---|---|
LOG_LEVEL | 'info' | Minimum logging level |
LOG_TRANSLATE_TIME | 'pattern' | Date pattern |
Available log levels in order of priority:
- error
- warn
- info
- debug
When logging Error objects, the logger automatically formats them properly:
const error = new Error('Database connection failed');
console.error(error);
// Will output formatted error with stack trace
Objects are automatically stringified and formatted:
console.log({
event: 'user_action',
details: {
userId: 123,
action: 'login'
}
});
All logs include ISO formatted timestamps for precise timing information.
# Run tests
npm test
# Run linting
npm run lint
# Format code
npm run format
# Build
npm run build
MIT
Danilo Recchia danilo.recchia@vortus.solutions
- Fork it
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -am 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Create a new Pull Request
For support, issues, or feature requests, please file an issue in the GitHub repository.