@vortus-solutions/logger-service
v1.0.0
Published
Enhanced logging service for Node.js applications with pretty printing and structured logging
Maintainers
Readme
@vortus-solutions/logger-service
A robust logging service for Node.js applications built on top of Pino, providing enhanced console logging capabilities with pretty formatting.
Features
- 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
Installation
npm install @vortus-solutions/logger-service
Requirements
- Node.js >= 14.0.0
Usage
Basic Usage
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');
Accessing Original Console
If you need to access the original console methods:
console.original.log('Using original console.log');
Configuration
The logger can be configured through environment variables:
| Variable | Default | Description | |-------------|---------|------------------------| | LOG_LEVEL | 'info' | Minimum logging level | | LOG_TRANSLATE_TIME | 'pattern' | Date pattern |
Log Levels
Available log levels in order of priority:
- error
- warn
- info
- debug
Features in Detail
Automatic Error Handling
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
Object Logging
Objects are automatically stringified and formatted:
console.log({
event: 'user_action',
details: {
userId: 123,
action: 'login'
}
});
ISO Timestamp
All logs include ISO formatted timestamps for precise timing information.
Development
# Run tests
npm test
# Run linting
npm run lint
# Format code
npm run format
# Build
npm run build
License
MIT
Author
Danilo Recchia [email protected]
Contributing
- 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
Support
For support, issues, or feature requests, please file an issue in the GitHub repository.