feat(ts): initial

This commit is contained in:
2018-01-28 04:31:06 +01:00
parent 42eda7bbf2
commit 3472ddfad7
17 changed files with 644 additions and 54 deletions

View File

@@ -1,21 +1,13 @@
import 'typings-global'
import * as plugins from "./smartlog.plugins";
import { Smartlog } from "./smartlog.classes.smartlog";
export registerLogger = () => {
export { Smartlog };
}
let defaultLogger: Smartlog;
export error = (logString: string) => {
console.error(logString)
}
export info = (logString: string) => {
console.info()
}
export log = (logString: string) => {
console.log(logString)
}
export warn = (logString: string) => {
console.warn(logString)
}
export const getDefaultLogger = () => {
if (!defaultLogger) {
defaultLogger = new Smartlog();
}
return defaultLogger;
};

View File

@@ -0,0 +1,67 @@
import * as plugins from "./smartlog.plugins";
export type TLogLevel =
| "error"
| "warn"
| "info"
| "verbose"
| "debug"
| "silly";
export class Smartlog {
private winstonInstance = new plugins.winston.createLogger({
level: 'silly',
format: plugins.winston.format.json()
})
// ============
// Logger Setup
// ============
/**
* enables console logging
*/
enableConsole() {
this.winstonInstance.add(new plugins.winston.transports.Console());
}
/**
* set a minimum serverity level to log
* @param levelArg
*/
level (levelArg: TLogLevel) {
this.winstonInstance.level(levelArg);
}
// =============
// log functions
// =============
/**
* log stuff
* @param logLevelArg
* @param logMessageArg
*/
log(logLevelArg: TLogLevel, logMessageArg: string) {
this.winstonInstance.log(logLevelArg, logMessageArg)
}
silly(logMessageArg: string) {
this.log('silly', logMessageArg)
}
debug(logMessageArg) {
this.log('debug', logMessageArg)
}
info(logMessageArg: string) {
this.log('info', logMessageArg)
}
warn(logMessageArg) {
this.log('warn', logMessageArg)
}
error(logMessageArg) {
this.log('error', logMessageArg)
}
}

2
ts/smartlog.plugins.ts Normal file
View File

@@ -0,0 +1,2 @@
import * as winston from "winston";
export { winston };