Introduction to Universal Logger
The universal-logger library is a versatile and powerful logging tool designed to streamline logging processes across various applications. With its multitude of APIs, you can easily tailor your logging system to meet your unique requirements.
APIs and Examples
Basic Usage
Initialize the logger and create simple log messages.
const logger = require('universal-logger'); const log = new logger.Logger(); log.info('This is an info message'); log.error('This is an error message');
Custom Log Levels
Create and use custom log levels.
const log = new logger.Logger({ levels: { myLevel: { level: 200, color: 'magenta' } } }); log.log('myLevel', 'This is a custom log level message');
Using Transports
Send logs to different destinations such as files, databases, or external services.
const fileTransport = new logger.transports.FileTransport({ filename: 'logfile.log' }); const log = new logger.Logger(); log.addTransport(fileTransport); log.info('This log will be stored in logfile.log');
Formatting Logs
Apply custom formatting to log messages.
const log = new logger.Logger({ format: logger.format.combine( logger.format.timestamp(), logger.format.printf(({ timestamp, level, message }) => { return `${timestamp} [${level}] : ${message}`; }) ) }); log.info('Formatted log message');
HTTP Transport
Send logs to an HTTP endpoint.
const httpTransport = new logger.transports.HttpTransport({ url: 'http://example.com/log' }); const log = new logger.Logger(); log.addTransport(httpTransport); log.info('This log will be sent to an HTTP endpoint');
App Example
Here is a simple app example incorporating various universal-logger features.
const logger = require('universal-logger'); const fileTransport = new logger.transports.FileTransport({ filename: 'application.log' }); const httpTransport = new logger.transports.HttpTransport({ url: 'http://example.com/log' }); const log = new logger.Logger({ levels: { debug: { level: 100, color: 'blue' }, silly: { level: 200, color: 'green' } }, format: logger.format.combine( logger.format.timestamp(), logger.format.printf(({ timestamp, level, message }) => { return `${timestamp} [${level.toUpperCase()}] : ${message}`; }) ) }); log.addTransport(fileTransport); log.addTransport(httpTransport); log.debug('Debugging information'); log.silly('Silly message with custom level'); log.info('General information'); log.error('Error log entry');
Conclusion
The universal-logger library is a robust tool suitable for a wide range of logging needs. With its flexible API, custom log levels, and various transports, you can build a comprehensive logging system tailored to your application’s requirements.
Hash: b44bd7e210a0ebe7be0e6dcb81a6e16a09e3e418cf2164e41d58eb2adb36db03