0.0.1 • Published 5 years ago
@project-reporter/cloud-logger v0.0.1
Project Reporter - Cloud Logger
This package contains the default implementation of the cloud logger if for some reason this implementation doesn't suit your use case you can use the ICloudLogger
from the core package to build your own implementation.
Installation
Using NPM.
npm i @project-reporter/cloud-logger
Using Yarn.
yarn add @project-reporter/cloud-logger
Usage Example
Basic usage
import { CloudLogger } from '@project-reporter/cloud-logger';
const logger = new CloudLogger();
logger.setUrl('some-logging-service.com');
logger.info('My Message');
Request headers
import { CloudLogger } from '@project-reporter/cloud-logger';
const logger = new CloudLogger();
logger.setUrl('some-logging-service.com');
logger.addHeader({ name: 'authorization', value: 'abc123' });
logger.info('My Message');
Format function
import { CloudLogger } from '@project-reporter/cloud-logger';
const logger = new CloudLogger();
logger.setUrl('some-logging-service.com');
logger.setFormat((level, timestamp, message, ...meta) => {
return `[${timestamp}] ${level}: ${message} ${meta.join(' ')}`;
});
logger.info('My Message');
More Advanced Usage
Evironment based logging
import { Reporter } from '@project-reporter/core';
import { CloudLogger } from '@project-reporter/cloud-logger';
const reporter = new Reporter();
// development only logger.
reporter.addLogger(
new CloudLogger().setUrl('dev-log-service.com'),
'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 CloudLogger().setUrl('prod-log-service.com'),
'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 { CloudLogger } from '@project-reporter/cloud-logger';
const reporter = new Reporter();
reporter.addLogger(new CloudLogger().setUrl('service1.com'));
reporter.addLogger(new CloudLogger().setUrl('service2.com'));
reporter.info('My Message'); // message will be sent to both servers.
Contributing
0.0.1
5 years ago