1.0.0 • Published 1 year ago
@vortus-solutions/logger-service v1.0.0
@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-serviceRequirements
- 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 traceObject 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 buildLicense
MIT
Author
Danilo Recchia danilo.recchia@vortus.solutions
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.
1.0.0
1 year ago