2.0.1 • Published 7 years ago

cdm-logger v2.0.1

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

cdm-logger

TypeScript NodeJs Platform

Introduction

A typescript library for Logging.

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

  1. ConsoleLogger - create a Console logger
  2. LogstashAmqpLogger - create a Logstash feed via Amqp

Getting Started

Installation

Install via npm

npm i cdm-logger --save

Example: Logstash Amqp

import {LogstashAmqpLogger,Logger,ILogstashAmqpLoggerSettings} from "cdm-logger";

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

import {ConsoleLogger,Logger,IConsoleLoggerSettings} from "cdm-logger";

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

Bunyan Logger

Contributing

Getting started

Install node_modules via npm

npm i

Install typings

typings install

Build the project (using typescript compiler)

npm run build
2.0.1

7 years ago

2.0.0

7 years ago

0.3.2

7 years ago

0.3.1

7 years ago

0.3.0

7 years ago

1.0.7

7 years ago

1.0.6

7 years ago

1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago