feat(ts): initial
This commit is contained in:
28
ts/index.ts
28
ts/index.ts
@@ -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;
|
||||
};
|
||||
|
67
ts/smartlog.classes.smartlog.ts
Normal file
67
ts/smartlog.classes.smartlog.ts
Normal 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
2
ts/smartlog.plugins.ts
Normal file
@@ -0,0 +1,2 @@
|
||||
import * as winston from "winston";
|
||||
export { winston };
|
Reference in New Issue
Block a user