@soinlabs/hawk
Advanced tools
Comparing version 0.3.1 to 0.3.2-alpha.1
@@ -54,3 +54,3 @@ const Logger = require("../src/Logger"); | ||
try { | ||
newLogger = new Logger({referenceCode: "referenceCode"}); | ||
newLogger = new Logger({ referenceCode: "referenceCode" }); | ||
newLogger.log({ message: "Error" }); | ||
@@ -64,2 +64,12 @@ } catch (e) { | ||
}); | ||
test("Should throw error if path is wrong", () => { | ||
try { | ||
newLogger = new Logger({ | ||
referenceCode: "referenceCode", | ||
path: "wrongPath", | ||
}); | ||
} catch (e) { | ||
expect(e.message).toBe("Directory not found: wrongPath"); | ||
} | ||
}); | ||
}); |
{ | ||
"name": "@soinlabs/hawk", | ||
"version": "0.3.1", | ||
"version": "0.3.2-alpha.1", | ||
"main": "index.js", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
@@ -19,105 +19,116 @@ const winston = require("winston"); | ||
constructor(referenceCode, dir, maxsize, maxfiles, datepattern){ | ||
constructor(referenceCode, dir, maxsize, maxfiles, datepattern) { | ||
this.#validate(dir); | ||
this.rotateTransportError = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-error-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "error", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportError = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-error-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "error", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportWarn = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-warn-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "warn", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportWarn = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-warn-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "warn", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportInfo = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-info-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "info", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportInfo = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-info-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "info", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportHttp = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-http-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "http", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportHttp = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-http-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "http", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportVerbose = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-verbose-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "verbose", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportVerbose = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-verbose-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "verbose", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportDebug = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-debug-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "debug", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportDebug = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-debug-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "debug", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportSilly = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-silly-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "silly", | ||
handleExceptions: false, | ||
}); | ||
this.rotateTransportSilly = new DailyRotateFile({ | ||
filename: path.join(dir, `${referenceCode}-silly-%DATE%.log`), | ||
dirname: dir, | ||
datePattern: datepattern || "YYYY-MM-DD", | ||
maxSize: maxsize || "20m", | ||
maxFiles: maxfiles || "3d", | ||
level: "silly", | ||
handleExceptions: false, | ||
}); | ||
this.logger = winston.createLogger({ | ||
format: ecsFormat(), | ||
transports: [ | ||
this.rotateTransportError, | ||
this.rotateTransportWarn, | ||
this.rotateTransportInfo, | ||
this.rotateTransportHttp, | ||
this.rotateTransportVerbose, | ||
this.rotateTransportDebug, | ||
this.rotateTransportSilly, | ||
new winston.transports.Console({ | ||
handleExceptions: true, | ||
format: winston.format.combine( | ||
winston.format.timestamp(), | ||
winston.format.colorize(), | ||
winston.format.prettyPrint(), | ||
winston.format.simple(), | ||
winston.format.printf( | ||
(info) => `[${info.timestamp}] ${info.level}: ${info.message}` | ||
) | ||
), | ||
}), | ||
], | ||
}); | ||
} | ||
this.logger = winston.createLogger({ | ||
format: ecsFormat(), | ||
transports: [ | ||
this.rotateTransportError, | ||
this.rotateTransportWarn, | ||
this.rotateTransportInfo, | ||
this.rotateTransportHttp, | ||
this.rotateTransportVerbose, | ||
this.rotateTransportDebug, | ||
this.rotateTransportSilly, | ||
new winston.transports.Console({ | ||
handleExceptions: true, | ||
format: winston.format.combine( | ||
winston.format.timestamp(), | ||
winston.format.colorize(), | ||
winston.format.prettyPrint(), | ||
winston.format.simple(), | ||
winston.format.printf( | ||
(info) => `[${info.timestamp}] ${info.level}: ${info.message}` | ||
) | ||
), | ||
}), | ||
], | ||
}); | ||
} | ||
write(log) { | ||
this.logger.log(log); | ||
} | ||
/** | ||
* Validate if directory exists | ||
* if it doesnt exist throw an error | ||
* @param {String} dir | ||
*/ | ||
#validate(dir) { | ||
if (!fs.existsSync(dir)) { | ||
throw new Error("Directory not found: " + dir); | ||
} | ||
} | ||
} | ||
module.exports = FileWriter; |
@@ -120,3 +120,3 @@ const FileWriter = require("./FileWriter.js"); | ||
if (info.toSlack === true) { | ||
this.#sendSlackMessage(log.message); | ||
this.#sendSlackMessage(`${this.referenceCode}: ${log.message}`); | ||
} | ||
@@ -123,0 +123,0 @@ } |
46625
1076