smartlog/readme.md

78 lines
3.6 KiB
Markdown
Raw Normal View History

2019-01-28 22:30:55 +00:00
# @pushrocks/smartlog
2019-01-28 01:03:11 +00:00
minimalistic distributed and extensible logging tool
2018-06-05 18:48:14 +00:00
2019-01-28 01:03:11 +00:00
## Availabililty and Links
* [npmjs.org (npm package)](https://www.npmjs.com/package/@pushrocks/smartlog)
* [gitlab.com (source)](https://gitlab.com/pushrocks/smartlog)
* [github.com (source mirror)](https://github.com/pushrocks/smartlog)
* [docs (typedoc)](https://pushrocks.gitlab.io/smartlog/)
2018-01-28 03:43:55 +00:00
## Status for master
2019-01-28 01:03:11 +00:00
[![build status](https://gitlab.com/pushrocks/smartlog/badges/master/build.svg)](https://gitlab.com/pushrocks/smartlog/commits/master)
[![coverage report](https://gitlab.com/pushrocks/smartlog/badges/master/coverage.svg)](https://gitlab.com/pushrocks/smartlog/commits/master)
[![npm downloads per month](https://img.shields.io/npm/dm/@pushrocks/smartlog.svg)](https://www.npmjs.com/package/@pushrocks/smartlog)
[![Known Vulnerabilities](https://snyk.io/test/npm/@pushrocks/smartlog/badge.svg)](https://snyk.io/test/npm/@pushrocks/smartlog)
2019-01-28 22:30:55 +00:00
[![TypeScript](https://img.shields.io/badge/TypeScript->=%203.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
[![node](https://img.shields.io/badge/node->=%2010.x.x-blue.svg)](https://nodejs.org/dist/latest-v10.x/docs/api/)
2018-01-28 03:43:55 +00:00
[![JavaScript Style Guide](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com/)
## Usage
2018-06-05 18:48:14 +00:00
2018-01-28 03:43:55 +00:00
Use TypeScript for best in class instellisense.
2019-01-22 11:44:45 +00:00
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:
```ts
import { Smartlog } from '@pushrocks/smartlog';
const logger = new Smartlog({
{
2019-01-30 02:23:56 +00:00
company: 'My awesome company',
companyunit: 'my awesome cloud team',
2019-01-30 02:24:47 +00:00
containerName: 'awesome-container',
2019-01-30 02:23:56 +00:00
environment: 'kubernetes-production',
2019-01-22 11:44:45 +00:00
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:
```ts
2019-01-28 01:03:11 +00:00
import { Smartlog, defaultLogger } from '@pushrocks/smartlog';
2019-01-22 11:44:45 +00:00
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
2019-01-28 01:03:11 +00:00
2019-01-22 11:44:45 +00:00
smartlog supports different kinds of destinations.
The following destinations are available:
2019-01-28 01:03:11 +00:00
- [@pushrocks/smartlog-destination-local](https://www.npmjs.com/package/@pushrocks/smartlog-destination-local) - outputs logs to the local console in a colorful, nice to read way.
- [@pushrocks/smartlog-destination-devtools](https://www.npmjs.com/package/@pushrocks/smartlog-destination-devtools) - outputs logs into the browser console in a colorful, nice to read way.
- [@pushrocks/smartlog-destination-receiver](https://www.npmjs.com/package/@pushrocks/smartlog-destination-receiver) - sends logs to a smartlog receiver (more about that below)
- [@mojoio/scalyr](https://www.npmjs.com/package/@pushrocks/smartlog-destination-receiver) - an scalyr API package that comes with a smartlog log destination included
- [@mojoio/elasticsearch](https://www.npmjs.com/package/@mojoio/elasticsearch) - an elasticsearch API package that comes with a smartlog destination included
2019-01-22 11:44:45 +00:00
2019-01-22 11:49:09 +00:00
### Adding a log destination
2019-01-28 01:03:11 +00:00
2019-01-22 11:49:09 +00:00
```
// TBD
```
2019-01-28 01:03:11 +00:00
For further information read the linked docs at the top of this readme.
2018-01-28 03:43:55 +00:00
> MIT licensed | **©** [Lossless GmbH](https://lossless.gmbh)
2019-01-28 01:03:11 +00:00
| By using this npm module you agree to our [privacy policy](https://lossless.gmbH/privacy.html)
2018-01-28 03:43:55 +00:00
[![repo-footer](https://pushrocks.gitlab.io/assets/repo-footer.svg)](https://push.rocks)