Introduction to Basilisk Logger
The Basilisk Logger is a powerful and flexible logging library designed to help developers effortlessly capture and manage activity logs in their applications. With a comprehensive set of APIs, Basilisk Logger enables detailed logging, easy configuration, and seamless integration into various types of projects. In this guide, we will introduce you to the core features and APIs of Basilisk Logger alongside examples to show you how to implement it in your projects effectively.
Getting Started
To begin using Basilisk Logger, you need to install the package. You can do this via npm:
npm install basilisk-logger
Basic Usage
Create a simple logger instance:
const Logger = require('basilisk-logger');
const logger = new Logger();
logger.info('This is an info message');
Configuring Logger
Customize the logger configurations according to your requirements:
const options = {
level: 'debug',
format: 'json',
transports: [
new Logger.transports.Console(),
new Logger.transports.File({ filename: 'combined.log' })
]
};
const logger = new Logger(options);
logger.debug('This is a debug message');
Logging Levels
Basilisk Logger supports multiple logging levels:
logger.error('This is an error message');
logger.warn('This is a warning message');
logger.info('This is an info message');
logger.verbose('This is a verbose message');
logger.debug('This is a debug message');
logger.silly('This is a silly message');
Custom Transports
Implement custom transports to log data into different services:
class CustomTransport extends Logger.Transport {
log(info, callback) {
// Implement your logging logic here
callback();
}
}
const options = {
transports: [
new CustomTransport()
]
};
const logger = new Logger(options);
logger.info('Message with custom transport');
Advanced Filtering
Filter logs based on specified criteria:
const options = {
filters: [
(info) => info.level === 'error'
]
};
const logger = new Logger(options);
logger.info('This will not be logged');
logger.error('This error will be logged');
Timing Logs
Capture time taken by operations using timers:
logger.startTimer();
// Operation
const done = logger.startTimer();
done({ message: 'Operation completed' });
HTTP Requests Logging
Log HTTP requests/responses in an Express app:
const express = require('express');
const Logger = require('basilisk-logger');
const app = express();
const options = {
level: 'info',
transports: [
new Logger.transports.Console(),
]
};
const logger = new Logger(options);
app.use((req, res, next) => {
logger.info(\`HTTP Request: \${req.method} \${req.url}\`);
res.on('finish', () => {
logger.info(\`HTTP Response: \${res.statusCode}\`);
});
next();
});
app.get('/', (req, res) => {
res.send('Hello, world!');
});
app.listen(3000, () => {
logger.info('Server is running on port 3000');
});
Conclusion
The Basilisk Logger is your go-to solution for logging requirements, offering flexibility and power in monitoring your application’s activities and states. By utilizing the diverse range of APIs and configurations, you can ensure comprehensive logging and tracking in your applications. Start integrating Basilisk Logger today and take your application monitoring to the next level.
Hash: b2336c9d2cda8bf7ea005b2958f4a6a9e3e2c6bd0f8a102e8ef6fdd41e47e3de