A minimalistic, distributed, and extensible logging tool supporting centralized log management.
test | ||
ts | ||
.gitignore | ||
.gitlab-ci.yml | ||
npmextra.json | ||
package-lock.json | ||
package.json | ||
readme.md | ||
tslint.json |
@pushrocks/smartlog
minimalistic distributed and extensible logging tool
Availabililty and Links
Status for master
Usage
Use TypeScript for best in class instellisense.
smartlog id s minimal logging package that provides a consistent experience across the complete logging stack. Smartlog allows you to create a logger instance like this:
import { Smartlog } from '@pushrocks/smartlog';
const logger = new Smartlog({
{
company: 'My awesome company',
companyunit: 'my awesome cloud team',
containerName?: 'awesome-container',
environment: 'kubernetes-production',
runtime: 'node',
zone: 'zone x'
}
})
logger.log('silly', `a silly statement`); // log levels are shown to you by the IDE
There is also a default logger available that you can use:
import { Smartlog, defaultLogger } from '@pushrocks/smartlog';
export class MyAwesomeClass {
constructor(public logger: Smartlog = defaultLogger) {
// what happens here that a instance of this class will have instance.logger available
// if you set a custom logger, than that will be used, if not the default logger.
}
}
Destinations
smartlog supports different kinds of destinations.
The following destinations are available:
- @pushrocks/smartlog-destination-local - outputs logs to the local console in a colorful, nice to read way.
- @pushrocks/smartlog-destination-devtools - outputs logs into the browser console in a colorful, nice to read way.
- @pushrocks/smartlog-destination-receiver - sends logs to a smartlog receiver (more about that below)
- @mojoio/scalyr - an scalyr API package that comes with a smartlog log destination included
- @mojoio/elasticsearch - an elasticsearch API package that comes with a smartlog destination included
Adding a log destination
// TBD
For further information read the linked docs at the top of this readme.
MIT licensed | © Lossless GmbH | By using this npm module you agree to our privacy policy