Welcome to Gonlogger: The JavaScript Logging Library You Need
Gonlogger is your go-to JavaScript library for effective and streamlined logging. Whether you are developing a simple web application or a complex enterprise-grade system, Gonlogger offers a robust set of features to ensure efficient logging and debugging.
Key Features and API Usages
Let’s dive into the core functionalities of Gonlogger with practical code snippets to help you get started quickly.
Basic Setup
To begin using Gonlogger, you first need to install it:
npm install gonlogger --save
Initialization
Initialize the logger with different configuration options:
import Gonlogger from 'gonlogger'; const loggerConfig = { level: 'debug', transports: ['console', 'file'], fileOptions: { filename: 'app.log', maxSize: '20m' } }; const logger = new Gonlogger(loggerConfig);
Basic Logging
Easily log messages at various levels:
logger.info('This is an info message'); logger.debug('This is a debug message'); logger.warn('This is a warning message'); logger.error('This is an error message');
Asynchronous Logging
Gonlogger supports asynchronous logging for better performance:
(async () => { await logger.asyncInfo('This is an async info message'); })();
Custom Log Levels
Define your own log levels:
logger.addLevel('verbose', { color: 'blue' }); logger.verbose('This is a verbose message');
Log Rotation
Automatically rotate logs to manage disk space:
const rotationConfig = { filename: 'app-%DATE%.log', frequency: 'daily', datePattern: 'YYYY-MM-DD' }; logger.configureLogRotation(rotationConfig);
Log Profiling
Profile a block of code to measure execution time:
const profiler = logger.startProfile('code-block'); // Code to profile logger.endProfile(profiler);
Integrating with Applications
Let’s build a simple Node.js app integrating all the above-mentioned Gonlogger features. First, create a main app file:
import express from 'express'; import Gonlogger from 'gonlogger'; const app = express(); const loggerConfig = { level: 'debug', transports: ['console', 'file'], fileOptions: { filename: 'app.log', maxSize: '20m' } }; const logger = new Gonlogger(loggerConfig); app.use((req, res, next) => { logger.info(`Incoming request for ${req.url}`); next(); }); app.get('/', (req, res) => { logger.debug('Handling root route'); res.send('Hello, Gonlogger!'); }); app.listen(3000, () => { logger.info('Server is running on port 3000'); });
This example demonstrates how to set up a basic application that logs HTTP requests and responses, uses multiple log levels, and combines synchronous and asynchronous logging.
Conclusion
Gonlogger is a powerful tool that enhances logging in your JavaScript applications. By leveraging its comprehensive features, you can ensure better monitoring and debugging of your code.
Hash: 05baadc903eacf4fd730eaf5a6d46c8c908d8320e6e6e8bf9212d223c60d822a