@vrscheduler/logger
v1.2.1
Published
Handles logging on local and production environments
Downloads
5
Readme
@vrscheduler/logger
Logging microservice that includes the ability to print to console and/or to a log file.
Installations
npm install @vrscheduler/logger
Usage
The logger uses a singleton approach whereby the first time you call the call you must use the following code:
import { Logger } from "@vrscheduler/logger";
const logger = Logger.createInstance({ timestamp: true }, 'console');
The createInstance method is shown below:
static createInstance(options: LoggerOptions, ...types: loggers[]): Logger;
where loggers accepts the following options:
- console
- file
- fluent
Logger options is described below:
type LoggerOptions = {
timestamps: boolean
fluent?: FluentOptions
file?: FileOptions
}
export type FluentOptions = {
host?: string
port?: number
timeout?: number
}
export type FileOptions = {
dirName: string
}
For Fluent it is also possible to pass through host, port and timeout parameters through environment variables FLUENT_HOST
, FLUENT_PORT
and FLUENT_TIMEOUT
. The default port for fluent is 24224 and default timeout is 3000
When using the logger in other files you can use the following line to get the logger instance instead of creating it again:
const logger = Logger.getInstance()
When using the file logger, it will create files in the directory name provided in the createInstance()
method.
Three files are used. log()
, debug()
, error()
and metric()
will go into general.log, debug.log, error.log and metric.log file respectively.