https://github.com/bufferapp/js-bufflog
logger for all javascript and typescript Buffer services
https://github.com/bufferapp/js-bufflog
Last synced: over 1 year ago
JSON representation
logger for all javascript and typescript Buffer services
- Host: GitHub
- URL: https://github.com/bufferapp/js-bufflog
- Owner: bufferapp
- Created: 2020-02-21T10:37:38.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-11-28T12:12:52.000Z (over 1 year ago)
- Last Synced: 2025-03-29T10:23:29.242Z (over 1 year ago)
- Language: TypeScript
- Size: 148 KB
- Stars: 0
- Watchers: 1
- Forks: 2
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# js-bufflog
logger for all javascript and typescript Buffer services
## Install
`npm i @bufferapp/bufflog`
## Usage
```js
// CommonJS style
const Bufflog = require('@bufferapp/bufflog');
// ES6 style
import Bufflog from "@bufferapp/bufflog";
Bufflog.debug('hello critical', {"some":"stuff"});
Bufflog.info('hello info');
Bufflog.notice('hello notice with context', {"foo":"bar"});
Bufflog.error('hello error');
Bufflog.critical('hello critical');
```
## Log verbosity levels
If you wish to see more logs, simply set the `LOG_LEVEL` to the desired level. Here a list with some use case:
| Levels | Use case | Examples |
|:-:|---|---|
| DEBUG | Information used for interactive investigation, with no long-term value. Activate it with `LOG_LEVEL=DEBUG`| Printing function names, steps inside a function. |
| INFO | Interesting events. Track the general flow of the application. Activate it with `LOG_LEVEL=INFO`| User logs in, SQL logs, worker process/delete a message... |
| NOTICE | Uncommon events. **This is the default verbosity level**. | Missing environment variables, page redirection, pod starting/restarting/terminating, retrying to query an API... |
| WARNING | Exceptional occurrences that are not errors. Undesirable things that are not necessarily wrong. | Use of deprecated APIs, poor use of an API, unauthorized access, pod restart because of memory limit ... |
| ERROR | Runtime errors. Highlight when the current flow of execution is stopped due to a failure. | Exceptions messages, incorect credentials or permissions... |
| CRITICAL | Critical conditions. Describe an unrecoverable application, system crash, or a catastrophic failure that requires immediate attention. | Application component unavailable, unexpected exception. entire website down, database unavailable ...|
## Add traces to log
A great feature of Datadog is to correlate traces and logs to make troubleshooting easier.
To take advantage of this, you will need to:
- install the `dd-trace` package
- import it and init it with `logInjection:true`.
- BuffLog will append automatically the traces to the logs (only within a request)
```js
// make sure to put those lines at the very beginning of your service
import tracer from "dd-trace";
tracer.init({
// will automatically append the traces to BuffLog
logInjection: true
// ... all other options...
});
```
## Use bufflog middleware with express
```js
const app = express();
app.use(Bufflog.middleware())
```