cdm-logger
v2.0.1
Published
Universal - Logger
Downloads
7
Readme
cdm-logger
TypeScript NodeJs Platform
Introduction
A typescript library for Logging.
This library extends the bunyan
npm with factories to create Logger instances:
- ConsoleLogger - create a Console logger
- 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