# @cdm-logger/server

> Universal - Logger

Latest version **9.0.24** (published 2025-12-21) · MIT license · 0 weekly downloads

## Install

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

## Health

**Score 65/100 (B)** — status: stable.

Positive: has types; esm support; no vulnerabilities; high maintenance score; high quality score.

Warnings: low downloads.

## Facts

| | |
|---|---|
| Version | 9.0.24 |
| Published | 2025-12-21 |
| First published | 2017-06-17 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 4 |
| Unpacked size | 8.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | CDMBase LLC |
| Maintainers | cdm-logger |
| Keywords | pino, logger |

## Links

- npm: https://www.npmjs.com/package/@cdm-logger/server
- 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/server

## Dependencies (4)

- [pino](https://npm.io/package/pino.md) ~9.6.0
- [bunyan](https://npm.io/package/bunyan.md) ^1.8.15
- [pino-pretty](https://npm.io/package/pino-pretty.md) ^13.0.0
- [@cdm-logger/core](https://npm.io/package/@cdm-logger/core.md) ^9.0.24

## 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

- 9.0.24 (latest) — 2025-12-21
- 9.0.20 — 2025-12-05
- 9.0.17 — 2025-11-28
- 9.0.15 — 2025-05-13
- 9.0.14 — 2025-05-12
- 9.0.13 — 2025-05-06
- 9.0.12 — 2025-05-06
- 9.0.11 — 2025-05-06
- 9.0.10 — 2025-05-06
- 9.0.9 — 2025-05-06
- 9.0.8 — 2025-05-06
- 9.0.7 — 2025-05-05
- 9.0.5 — 2024-12-02
- 9.0.3 — 2024-06-15
- 9.0.2 — 2024-06-15
- … 21 more at https://npm.io/package/@cdm-logger/server/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/server · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
