# iq-logger

> ![typescript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)

Latest version **1.2.0** (published 2022-06-21) · ISC license · 0 weekly downloads

## Install

```sh
npm install iq-logger
pnpm add iq-logger
yarn add iq-logger
bun add iq-logger
```

## Health

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

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.2.0 |
| Published | 2022-06-21 |
| First published | 2022-02-24 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 13.4 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | iq360 |

## Links

- npm: https://www.npmjs.com/package/iq-logger
- Repository: https://github.com/RedVentures/iq-logger
- Homepage: https://github.com/RedVentures/iq-logger#readme
- Issues: https://github.com/RedVentures/iq-logger/issues
- npm.io page: https://npm.io/package/iq-logger

## Recent versions

- 1.2.0 (latest) — 2022-06-21
- 1.0.0 — 2022-02-24

## README

![typescript](https://img.shields.io/badge/TypeScript-007ACC?style=for-the-badge&logo=typescript&logoColor=white)

# IQ Logger

```
██╗ ██████╗     ██╗      ██████╗  ██████╗  ██████╗ ███████╗██████╗ 
██║██╔═══██╗    ██║     ██╔═══██╗██╔════╝ ██╔════╝ ██╔════╝██╔══██╗
██║██║   ██║    ██║     ██║   ██║██║  ███╗██║  ███╗█████╗  ██████╔╝
██║██║▄▄ ██║    ██║     ██║   ██║██║   ██║██║   ██║██╔══╝  ██╔══██╗
██║╚██████╔╝    ███████╗╚██████╔╝╚██████╔╝╚██████╔╝███████╗██║  ██║
╚═╝ ╚══▀▀═╝     ╚══════╝ ╚═════╝  ╚═════╝  ╚═════╝ ╚══════╝╚═╝  ╚═╝
```

This is a custom logger created for IQ applications. Just instantiate a logger class, set a partner, if necessary, and you're good to go!

## Usage

```typescript
const logger = new IqLogger();
logger.setPartner("iq-partner");
```
###### Logger Options
It's possible to setup the log level that will be emitted, this make possible implements all kind of logs and just configure wich one will be display depending on environment rules. Example: 
```typescript
import { IqLogger, LogLevel } from "iq-logger";
const logger = new IqLogger({logLevel: LogLevel.Warn});
logger.Info("Info message");
logger.Warn("Warn message");
```
```
OUTPUT: Warn message
```
If log level was not set, the default value is `Info`.
Down below it's the available values organized ascending in restrition level
| Log Level      | Restriction Value | Comments                                                   |
| -------------- | ----------------- | ---------------------------------------------------------- |
| Debug          | 1                 | Used to log info about runtine                             |
| Info (default) | 2                 | Used to log info about important points of the application |
| Warn           | 3                 | Used to log some warn that may cause an error              |
| Error          | 4                 | Used to log an error                                       |
### Debug log

Debug logs require an debug message, and can have an optional `data` parameter.

```typescript
const data = {
  dataField: "data value"
};

logger.Debug("Debug message", data, additionalFields);
```

### Info log

Info logs require an info message, and can have an optional `data` parameter, as well as additional custom parameters.

```typescript
const data = {
  dataField: "data value"
};

const additionalFields = {
  customField: "customValue"
};

logger.Info("Info message", data, additionalFields);
```
### Warn log

Warn logs require an warn message, and can have an optional `data` parameter, as well as additional custom parameters.

```typescript
const data = {
  dataField: "data value"
};

const additionalFields = {
  customField: "customValue"
};

logger.Warn("Warn message", data, additionalFields);
```

### Error log

Error logs take a Javascript Error instance and formats the stack trace and error message. 

```typescript
logger.Error(err: Error);
```

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