Welcome to Chain-Logger
Chain-Logger is a powerful and versatile logging library designed to facilitate efficient data tracking and logging for your applications. With its extensive range of APIs, Chain-Logger simplifies the process of managing log data across different log levels while maintaining high performance. Here are some of the key features and API examples of Chain-Logger:
Installing Chain-Logger
# Using npm
npm install chain-logger
# Using yarn
yarn add chain-logger
Basic Usage
To get started with Chain-Logger, you can initialize a logger instance and log messages at different levels:
const { createLogger, transports, format } = require('chain-logger');
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp(),
format.printf(({ level, message, timestamp }) => `${timestamp} ${level}: ${message}`)
),
transports: [
new transports.Console(),
new transports.File({ filename: 'combined.log' })
]
});
logger.info('This is an info message');
logger.warn('This is a warning message');
logger.error('This is an error message');
Advanced Configuration
Chain-Logger allows you to configure multiple transports and formats for greater flexibility:
const logger = createLogger({
level: 'debug',
format: format.combine(
format.colorize(),
format.splat(),
format.simple()
),
transports: [
new transports.Console(),
new transports.File({ filename: 'info.log', level: 'info' }),
new transports.File({ filename: 'error.log', level: 'error' })
]
});
logger.debug('This is a debug message');
logger.error('This is an error message with a stack trace: %s', new Error('Oops').stack);
Custom Transports
Creating custom transports is easy with Chain-Logger:
const { Transport } = require('chain-logger');
class CustomTransport extends Transport {
constructor(opts) {
super(opts);
}
log(info, callback) {
// Custom logging logic
console.log(`Custom Transport: ${info.level}: ${info.message}`);
callback();
}
}
const logger = createLogger({
level: 'info',
transports: [
new CustomTransport()
]
});
logger.info('This is a custom transport message');
Using with an Application
Here is an example of using Chain-Logger in an Express application:
const express = require('express');
const { createLogger, transports, format } = require('chain-logger');
const app = express();
const logger = createLogger({
level: 'info',
format: format.combine(
format.timestamp(),
format.printf(({ level, message, timestamp }) => `${timestamp} ${level}: ${message}`)
),
transports: [
new transports.Console()
]
});
app.use((req, res, next) => {
logger.info(`Received a ${req.method} request for ${req.url}`);
next();
});
app.get('/', (req, res) => {
res.send('Hello, Chain-Logger!');
});
app.listen(3000, () => {
logger.info('Server is running on port 3000');
});
Conclusion
Chain-Logger is an excellent tool for developers who need a robust and configurable logging solution. With its easy-to-use API and advanced features, it can greatly enhance the logging capabilities of any application. Start integrating Chain-Logger into your projects today and experience the difference it makes!
Hash: 5ab745dab3f9043261e888616b52384a6fe31dcb3488a08964841ba920c5adc5