0.0.1 • Published 5 years ago
@project-reporter/console-logger v0.0.1
Project Reporter - Console Logger
This package contains the default implementation of the console logger if for some reason this implementation doesn't suit your use case you can use the IConsoleLogger
from the core package to build your own implementation.
Installation
Using NPM.
npm i @project-reporter/console-logger
Using Yarn.
yarn add @project-reporter/console-logger
Usage Example
Basic usage
import { ConsoleLogger } from '@project-reporter/console-logger';
const logger = new ConsoleLogger();
logger.info('My Message');
Using Colors
import { ConsoleLogger } from '@project-reporter/console-logger';
const logger = new ConsoleLogger();
logger.setColorize(true); // it's true by default.
logger.info('My Message');
Custom encoding
import { ConsoleLogger } from '@project-reporter/console-logger';
const logger = new ConsoleLogger();
logger.setEncoding('UTF-16'); // UTF-8 by default.
logger.info('My Message');
Format function
import { ConsoleLogger } from '@project-reporter/console-logger';
const logger = new ConsoleLogger();
logger.setFormat((level, timestamp, message, ...meta) => {
return `[${timestamp}] ${level}: ${message} ${meta.join(' ')}`;
});
logger.info('My Message');
More Advanced Usage
Evironment based logging, this is just an example, DONOT use console logging in production.
import { Reporter } from '@project-reporter/core';
import { ConsoleLogger } from '@project-reporter/console-logger';
const reporter = new Reporter();
// development only logger.
reporter.addLogger(
new ConsoleLogger().setColorize(true),
'DEVELOPMENT_LOGGER', // this name is an identifier.
'development' // notice that the third parameter is the name of the environemt.
);
// production only logger.
reporter.addLogger(
new ConsoleLogger().setColorize(false),
'PRODUCTION_LOGGER', // this name is an identifier.
'production' // notice that the third parameter is the name of the environemt.
);
reporter.info('My Message');
Multiple loggers
import { Reporter } from '@project-reporter/core';
import { ConsoleLogger } from '@project-reporter/console-logger';
const reporter = new Reporter();
reporter.addLogger(new ConsoleLogger().setEncoding('UTF-8'));
reporter.addLogger(new ConsoleLogger().setEncoding('UTF-16'));
reporter.info('My Message'); // message will be printed in both UTF-8 and UTF-16 encodings.
Contributing
0.0.1
5 years ago