https://github.com/balavishnuvj/js-console-logger
A configurable, lightweight, opinionated JavaScript logger.
https://github.com/balavishnuvj/js-console-logger
console console-log js js-logger log logger logging redux-logger
Last synced: 3 months ago
JSON representation
A configurable, lightweight, opinionated JavaScript logger.
- Host: GitHub
- URL: https://github.com/balavishnuvj/js-console-logger
- Owner: balavishnuvj
- License: mit
- Created: 2018-11-28T12:57:44.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-12-09T04:00:14.000Z (over 7 years ago)
- Last Synced: 2025-08-17T03:29:07.370Z (10 months ago)
- Topics: console, console-log, js, js-logger, log, logger, logging, redux-logger
- Language: TypeScript
- Homepage:
- Size: 161 KB
- Stars: 7
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# js-console-logger
A configurable, lightweight, opinionated JavaScript logger.
Defined log levels are trace, debug, info, warn and error.
## Installation
```bash
npm i js-console-logger --save
```
## Usage
```js
import 'js-console-logger';
```
## Examples
Usage is very similar to `console` object.
NOTE: consoleLevel is set to `trace`.
```js
logger.trace('Network', 'API is not reposding', { url: 'www.google.com', ua: 'bot' });
logger.debug('Network', 'API is not reposding', { url: 'www.google.com', ua: 'bot' });
logger.info('Network', 'API is not reposding', { url: 'www.google.com', ua: 'bot' });
logger.warn('Network', 'API is not reposding', { url: 'www.google.com', ua: 'bot' });
logger.error('Network', 'API is not reposding', { url: 'www.google.com', ua: 'bot' });
```

## Configure example
Default configuration is good enough to start. But you can configure few options
```js
import { consoleConfig } from 'js-console-logger';
// import { LogLevel } from 'js-console-logger/lib/types';
const isProd = process.env.NODE_ENV === 'production';
consoleConfig.setDisableConsole(isProd); // default false
consoleConfig.setConsoleLevel('info');
// default info, Use types in TS.
consoleConfig.setDisableReport(!isProd); //
consoleConfig.setReportFn((obj) => {
// report it to somewhere, call api etc.
});
consoleConfig.setReportLevel('error');
// default error, Use types in TS.
```
## To dispatch an action on report.
```js
import { consoleConfig } from 'js-console-logger';
import store from '../utils/store';
import { reportLog } from '../containers/App/actions';
const reportFn = (obj) => {
store.dispatch(reportLog(obj));
};
consoleConfig.setReportFn(reportFn);
```