Introduction to DefaultLogger
DefaultLogger is a versatile and easy-to-use logging library for modern applications. It provides a simple yet powerful API to help developers implement logging quickly and effectively.
Key Features and API Examples
Basic Usage
Setting up DefaultLogger in your project is straightforward. Here’s how you can initialize and use it:
import { DefaultLogger } from 'defaultlogger';
const logger = new DefaultLogger(); logger.info('This is an informational message'); logger.error('This is an error message'); logger.warn('This is a warning message'); logger.debug('This is a debug message');
Configuring the Log Level
DefaultLogger allows you to set different log levels to filter messages:
const logger = new DefaultLogger({ level: 'warn' }); logger.info('This message will not be logged'); logger.error('This is an error message');
Adding Custom Transports
You can add custom transports to send logs to different destinations, such as files or external services:
import { ConsoleTransport, FileTransport } from 'defaultlogger';
const logger = new DefaultLogger(); logger.addTransport(new ConsoleTransport()); logger.addTransport(new FileTransport('logs/app.log'));
Using Context and Metadata
Add context and metadata to your log messages to provide additional information:
const logger = new DefaultLogger();
logger.info('User login', { userId: 'abc123', timestamp: new Date() }); logger.error('Error fetching data', { errorCode: '500', apiEndpoint: '/users' });
Application Example
Here’s a complete example of an application using DefaultLogger:
import { DefaultLogger, FileTransport } from 'defaultlogger'; import express from 'express';
const app = express(); const logger = new DefaultLogger(); logger.addTransport(new FileTransport('logs/app.log'));
app.use((req, res, next) => {
logger.info('Incoming request', { method: req.method, url: req.url });
next();
});
app.get('/', (req, res) => {
logger.info('Handling root route');
res.send('Hello, world!');
});
app.use((err, req, res, next) => {
logger.error('Error occurred', { message: err.message, stack: err.stack });
res.status(500).send('Something went wrong');
});
app.listen(3000, () => {
logger.info('Server is running on port 3000');
});
In this example, all incoming requests, route handling, and errors are logged using DefaultLogger, with logs being saved to a file for persistence.
DefaultLogger makes logging in JavaScript/Node.js applications intuitive and effective. Start using it in your projects to improve debugging and monitoring.
Hash: 550673ab8f03154561990864d77200affd38797e2ff92922ef2da46e639c1023