A multi channel logger written in TypeScript.
- Colored console logging to stdout or stderr,
- File appender, with configurable log rolling based on file size or date
- Configurable log message layout/patterns
- Different log levels for different log categories (make some parts of your app log as DEBUG, others only ERRORS, etc.)
Please refer to the documentation for more details.
npm install -g typescript
npm install ts-log-debug
Since v3.x, the logger is completely rewritten to support new features. This new version is inspired by the excellent project log4js.
Minimalist version:
import {$log} from "ts-log-debug";
$log.level = "debug";
$log.name = "APP";
$log.debug("Some debug messages");
Will be procude the following log output:
[2017-06-17 11:43:37.987] [DEBUG] [APP] - Some debug messages
Create your custom logger:
import {Logger} from "ts-log-debug";
const logger = new Logger("loggerName");
logger.appenders
.push({
type: "stdout",
levels: ["debug", "info", "trace"]
})
.push({
type: "stderr",
levels: ["fatal", "error", "warn"],
layout: {
type: "pattern",
pattern: "%d %p %c %X{user} %m%n"
}
})
.push({
type: "file",
filename: `${__dirname}/app.log`,
layout:{
type: "json",
separator: ","
}
})