# l0gg3r

> Minimalistic logging library for javascript

Latest version **0.6.2** (published 2020-03-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install l0gg3r
pnpm add l0gg3r
yarn add l0gg3r
bun add l0gg3r
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.6.2 |
| Published | 2020-03-20 |
| First published | 2019-09-08 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 176.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | sulaiman1073 |
| Maintainers | sulaiman1073 |
| Keywords | logger |

## Links

- npm: https://www.npmjs.com/package/l0gg3r
- Repository: https://github.com/sulaiman1073/l0gg3r
- Homepage: https://github.com/sulaiman1073/l0gg3r#readme
- Issues: https://github.com/sulaiman1073/l0gg3r/issues
- npm.io page: https://npm.io/package/l0gg3r

## Dependencies (3)

- [chalk](https://npm.io/package/chalk.md) ^3.0.0
- [fast-redact](https://npm.io/package/fast-redact.md) ^2.0.0
- [fast-safe-stringify](https://npm.io/package/fast-safe-stringify.md) ^2.0.7

## Alternatives

- [cli-color](https://npm.io/package/cli-color.md) — 3.4M weekly downloads
- [log](https://npm.io/package/log.md) — 1.3M weekly downloads
- [logstash-client](https://npm.io/package/logstash-client.md) — 4.5K weekly downloads
- [@nocobase/plugin-logger](https://npm.io/package/@nocobase/plugin-logger.md) — 2.0K weekly downloads
- [child-process-debug](https://npm.io/package/child-process-debug.md) — 695 weekly downloads

## Recent versions

- 0.6.2 (latest) — 2020-03-20
- 0.6.1 — 2019-09-16
- 0.6.0 — 2019-09-08

## README

# l0gg3r

Minimalistic logging library for javascript.

## Install

```
npm install l0gg3r
```

## Usage

### Basic logger

```js
const logger = require("l0gg3r")();

logger.info("hello");
```

Output:

```json
{"level":20,"timestamp":1567945561139,"message":"hello"}
```

### Full option logger

```js
const { resolve } = require("path");
const { hostname } = require("os");
const l0gg3r = require("l0gg3r");

const { transports, serializers } = l0gg3r;

let logger;

if(process.env.NODE_ENV === "production"){
  logger = l0gg3r({
    transports: [
      transports.consoleTransport({
        level: "info",
        serializer: serializers.json({
          redact: ["message.c", "message.f.*"],
          meta: {
            pid: process.pid,
            hostname: hostname()
          }
        })
      })
    ]
  });
} else {
  logger = l0gg3r({
    transports: [
      transports.consoleTransport({
        level: "debug",
        serializer: serializers.prettyConsole()
      }),
      transports.fileTransport({
        level: "debug",
        serializer: serializers.prettyFile(),
        file: resolve(__dirname, "./debug.log")
      }),
      transports.fileTransport({
        level: "error",
        serializer: serializers.prettyFile(),
        file: resolve(__dirname, "./error.log")
      })
    ]
  });
}
```

## Redact

Using [`fast-redact`](https://github.com/davidmarkclements/fast-redact) for redactions. Look at its paths options to know what you can pass.

## Meta

An object that will be joined with the log object.

## Levels

```js
const levels = {
  debug: 10,
  info: 20,
  warn: 30,
  error: 40
};
```

## prettyConsole

![prettyConsole](./prettyConsole.png)

## Custom transports and serializers

A brief look at the code should tell you how to make them.

## Note

Don't use multiple transports in production.

---
_Source: https://npm.io/package/l0gg3r · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
