https://github.com/kengoldfarb/log
A simple isomorphic logger - Browser JS, NodeJS, React Native
https://github.com/kengoldfarb/log
browser javascript logger logging nodejs react react-native
Last synced: 5 months ago
JSON representation
A simple isomorphic logger - Browser JS, NodeJS, React Native
- Host: GitHub
- URL: https://github.com/kengoldfarb/log
- Owner: kengoldfarb
- License: mit
- Created: 2020-07-16T03:33:06.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-15T18:24:41.000Z (over 1 year ago)
- Last Synced: 2025-09-20T12:27:48.729Z (9 months ago)
- Topics: browser, javascript, logger, logging, nodejs, react, react-native
- Language: TypeScript
- Homepage:
- Size: 395 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 20
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# A simple isomorphic logger
Simple console logger that works both server and client side.
## Installation
```
yarn install @kengoldfarb/log
```
## Simple Usage
```js
const log = require('log')
log.setOptions({
level: 'debug'
})
log.warn('Something went wrong')
```
## Typescript usage
```ts
import log, { LogLevel } from '@kengoldfarb/log'
log.setOptions({
level: LogLevel.Debug
})
log.debug('Hello')
```
## Levels
The default logging level is `warn`. Use `log.setOptions()` to change it.
```js
log.trace('log at level trace')
log.debug('log at level debug')
log.info('log at level info')
log.warn('log at level warn')
log.error('log at level error')
log.crit('log at level crit')
log.fatal('log at level fatal')
log.superInfo('log at level superInfo')
```
## Full list of options
```ts
/** The log level */
level?: LogLevel;
/** Whether to log using colors. Default true */
useColors?: boolean;
/** Whether to log as JSON. Default false */
asJSON?: boolean;
/** A custom adapter that will be called with log messages. If not set, console.log is used */
customAdapter?: LogAdapter;
/** Whether to show file path / line numbers for all logs instead of just debug and trace. Enabling this will incur a slight performance penalty. */
showLineNumbersForAll?: boolean;
/**
* If this is a module, set the namespace so logs can be selectively turned on.
*
* For example, if the module is named @kengoldfarb/foo
*
* You can turn on debugging by setting the environment variable:
* DEBUG=@kengoldfarb/foo
* or with a wildcard
* DEBUG=@kengoldfarb/*
*
* You can also specify the level:
* DEBUG=@kengoldfarb/foo~trace,@kengoldfarb/bar~crit
*
* By default, when a namespace is set, the level is set to "warn"
*
* */
namespace?: string;
```
## Credit
Based on:
- https://github.com/barbershop/iso-log
- https://github.com/sprucelabsai/spruce-log