Introduction to Unbox Logger
Unbox Logger is a lightweight and flexible logging library that helps developers monitor and debug their applications effectively. With a wide range of APIs and customization options, Unbox Logger is the perfect tool for any app developer.
API Examples
Basic Logging
Unbox Logger provides simple and straightforward methods to log information:
const logger = require('unbox-logger');
logger.info('This is an info message');
logger.warn('This is a warning message');
logger.error('This is an error message');
Logging with Metadata
You can include additional metadata with your logs:
logger.info('User login', { userId: 12345 });
logger.error('Payment failed', { orderId: 54321 });
Custom Log Levels
Create custom log levels for more granularity:
const customLevels = {
levels: {
fatal: 0,
critical: 1,
debug: 2,
trace: 3
},
colors: {
fatal: 'red',
critical: 'orange',
debug: 'blue',
trace: 'yellow'
}
};
const logger = require('unbox-logger').createLogger(customLevels);
logger.fatal('This is a fatal error message');
logger.trace('This is a trace message');
Conditional Logging
Log messages based on conditions:
const isProduction = process.env.NODE_ENV === 'production';
logger.info('This is always logged');
if (!isProduction) {
logger.debug('This is only logged in development');
}
Example Application
Here is an example of how you can integrate Unbox Logger into an express application:
const express = require('express');
const logger = require('unbox-logger');
const app = express();
app.use((req, res, next) => {
logger.info(`${req.method} ${req.url}`, { headers: req.headers });
next();
});
app.get('/', (req, res) => {
res.send('Hello, world!');
logger.info('Sent Hello, world! to client');
});
app.use((err, req, res, next) => {
logger.error('Internal server error', { error: err.message });
res.status(500).send('Internal Server Error');
});
app.listen(3000, () => {
logger.info('Server is running on port 3000');
});
By strategically placing log statements throughout your application, you can gain insight into its behavior and quickly diagnose issues.
Hash: 084901549e5fa18309216aaf23acbb5bdfe3fea66eee7948338510a15c127552