# @cdm-logger/amqp

> Universal - Logger

Latest version **8.0.7** (published 2024-06-03) · MIT license · 0 weekly downloads

## Install

```sh
npm install @cdm-logger/amqp
pnpm add @cdm-logger/amqp
yarn add @cdm-logger/amqp
bun add @cdm-logger/amqp
```

## 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 | 8.0.7 |
| Published | 2024-06-03 |
| First published | 2017-06-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 7 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | CDMBase LLC |
| Maintainers | cdm-logger |
| Keywords | typescript, bunyan, logger |

## Links

- npm: https://www.npmjs.com/package/@cdm-logger/amqp
- Repository: https://git@github.com/cdmbase/cdm-logger
- Homepage: https://github.com/cdmbase/cdm-logger
- Issues: https://github.com/cdmbase/cdm-logger/issues
- npm.io page: https://npm.io/package/@cdm-logger/amqp

## Dependencies (3)

- [@cdm-logger/core](https://npm.io/package/@cdm-logger/core.md) ^8.0.7
- [@cdm-logger/server](https://npm.io/package/@cdm-logger/server.md) ^8.0.7
- [bunyan-logstash-amqp](https://npm.io/package/bunyan-logstash-amqp.md) 1.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

- 8.0.7 (latest) — 2024-06-03
- 8.0.5 — 2024-03-09
- 8.0.4 — 2024-03-09
- 8.0.3 — 2024-03-09
- 8.0.2 — 2024-03-09
- 7.0.14 — 2022-12-05
- 7.0.12 — 2022-02-07
- 7.0.7 — 2021-07-19
- 7.0.6 — 2021-07-19
- 7.0.5 — 2021-07-19
- 7.0.4 — 2021-07-19
- 7.0.3 — 2021-07-19
- 7.0.2 — 2021-07-19
- 6.0.0 — 2020-10-03
- 5.0.5 — 2018-08-22
- … 4 more at https://npm.io/package/@cdm-logger/amqp/versions

## README

# @cdm-logger

TypeScript NodeJs Platform

## Introduction

A typescript library for Logging.

This library extends the `bunyan` npm with factories to create Logger instances:

1. @cdm-logger/server: ConsoleLogger - create a Console logger
2. @cdm-logger/amqp: LogstashAmqpLogger - create a Logstash feed via Amqp
3. @cdm-logger/client: ClientLogger - create a browser Console logger

## Getting Started

### Installation
Install via `npm`
```
npm i @cdm-logger/<module> --save
```

## Example: Logstash Amqp

```typescript
import {LogstashAmqpLogger,ILogstashAmqpLoggerSettings} from "@cdm-logger/amqp";
import * as Logger from "bunyan";

const settings: ILogstashAmqpLoggerSettings = {
  level: "info", // Optional: default 'info' ('trace'|'info'|'debug'|'warn'|'error'|'fatal')
  host: "localhost",
  port: 5672,
  exchange:"logs" // Optional: default 'logs'
}

//Optional additional Console Logger
const consoleSettings: IConsoleLoggerSettings = {
  level: "trace",
  mode: "short"
}

const logger: Logger = LogstashAmqpLogger.create("<app name>", settings, consoleSettings);


// Register 'logger' with IoC
```

## Example: Console

```typescript
import {ConsoleLogger,IConsoleLoggerSettings} from "@cdm-logger/server";
import * as Logger from "bunyan";

const settings: IConsoleLoggerSettings = {
  level: "info", // Optional: default 'info' ('trace'|'info'|'debug'|'warn'|'error'|'fatal')
  mode: "short" // Optional: default 'short' ('short'|'long'|'dev'|'raw')
}

const logger: Logger = ConsoleLogger.create("<app name>", settings);

// or create a logger with default values (in 'short' mode and at 'info' level)
const defaultLogger: Logger = ConsoleLogger.create("<app name>");

// or create a logger with instance of the class
const defaultLogger: Logger = ConsoleLogger.create(this);

// Register 'logger' with IoC
describe("Console Logger using inversify", () => {

  @injectable()
  class TestClass {
    constructor(@inject("logger") private logger: Logger) {

    }
    test() {
      this.logger.info("test")
    }
  }
  const container = new Container();
  const consoleLogger = ConsoleLogger.create("ioc")
  container.bind<Logger>("logger").toConstantValue(consoleLogger)
  container.bind<TestClass>("TestClass").to(TestClass)

  it("should be able to create a TRACE instance", () => {

    const testClass = container.get<TestClass>("TestClass")
    testClass.test();
  });

})
```

##

## Consumed Libraries

### [bunyan](https://github.com/trentm/node-bunyan)
Bunyan Logger


## Contributing

### Getting started

Install `node_modules` via `npm`
```
npm i
```

Build the project (using typescript compiler)
```
npm run lerna
```

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