Socket
Socket
Sign inDemoInstall

@soinlabs/hawk

Package Overview
Dependencies
9
Maintainers
5
Versions
13
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 0.1.1 to 0.2.0

__test__/stepGetter.test.js

10

__test__/loggedError.test.js

@@ -40,5 +40,13 @@ const LoggedError = require("../src/LoggedError");

test("Should set message and return this", () => {
expect(loggedError.setStatus(0)).not.toBeNull;
expect(loggedError.status).toBe(0);
});
test("Should set status and return this", () => {
expect(loggedError.setMessage("error")).not.toBeNull;
expect(loggedError.message).toBe("error");
});
test("Should set error level and return this", () => {
expect(loggedError.setErrorLevel("error")).not.toBeNull;
expect(loggedError.errorLevel).toBe("error");
});
test("Should set referenceCode and return this", () => {

@@ -68,2 +76,2 @@ expect(loggedError.setReferenceCode("logged error test")).not.toBeNull;

});
});
});

2

__test__/loggedErrorLogger.test.js

@@ -6,3 +6,3 @@ const LoggedError = require("../src/LoggedError");

describe("LoggedError and Logger Integration", () => {
let logger = new Logger();
let logger = new Logger({ referenceCode: "referenceCode" });
it("Should create log", () => {

@@ -9,0 +9,0 @@ const dir = os.tmpdir();

@@ -6,2 +6,3 @@ const Logger = require("../src/Logger");

let logger = new Logger({
referenceCode: "referenceCode",
slackToken: "slack",

@@ -18,2 +19,4 @@ });

expect(logger.path).not.toBe(undefined);
expect(logger.referenceCode).not.toBe(undefined);
expect(logger.referenceCode).not.toBeNull;
expect(logger.slackToken).toBe("slack");

@@ -28,2 +31,18 @@ });

});
test("Should set Max Size", () => {
logger.setMaxSize("20m");
expect(logger.maxsize).toBe("20m");
});
test("Should set Max Files", () => {
logger.setMaxSize("3d");
expect(logger.maxsize).toBe("3d");
});
test("Should set Date Pattern", () => {
logger.setDatePattern("YYYY-MM-DD");
expect(logger.datepattern).toBe("YYYY-MM-DD");
});
test("Should set Reference Code", () => {
logger.setReferenceCode("referenceCode");
expect(logger.referenceCode).toBe("referenceCode");
});
test("Should throw error if message is null", () => {

@@ -37,4 +56,4 @@ try {

test("Should throw error if path is null", () => {
newLogger = new Logger();
try {
newLogger = new Logger({referenceCode: "referenceCode"});
newLogger.log({ message: "Error" });

@@ -41,0 +60,0 @@ } catch (e) {

{
"name": "@soinlabs/hawk",
"version": "0.1.1",
"version": "0.2.0",
"main": "index.js",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -18,51 +18,103 @@ const winston = require("winston");

*/
write(log, dir, maxsize, maxfiles, datepattern) {
this.#validate(dir);
let fileName = "";
if (log.referenceCode) {
fileName = `${log.referenceCode}-${log.level}-%DATE%.log`;
} else fileName = `${log.level}-%DATE%.log`;
constructor(referenceCode, dir, maxsize, maxfiles, datepattern){
var rotateTransport = new DailyRotateFile({
filename: path.join(dir, fileName),
dirname: dir,
datePattern: datepattern || "YYYY-MM-DD",
maxSize: maxsize || "20m",
maxFiles: maxfiles || "3d",
level: log.level,
handleExceptions: true,
});
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,
});
const logger = winston.createLogger({
format: ecsFormat(),
transports: [
rotateTransport,
new winston.transports.Console({
handleExceptions: true,
level: log.level,
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}`
)
),
}),
],
});
logger.log(log);
}
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,
});
/**
* 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);
}
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.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.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}`
)
),
}),
],
});
}
write(log) {
this.logger.log(log);
}

@@ -69,0 +121,0 @@ }

@@ -23,2 +23,3 @@ const FileWriter = require("./FileWriter.js");

this.path = null;
this.setReferenceCode(options.referenceCode)
this.setPath(options.path);

@@ -32,3 +33,10 @@ this.slackToken =

this.fileWriter = new FileWriter();
this.fileWriter = new FileWriter(
this.referenceCode,
this.path,
this.maxsize,
this.maxfiles,
this.datepattern
);
}

@@ -81,2 +89,10 @@ /**

/**
* Set referenceCode value
* @param {String} referenceCode
*/
setReferenceCode(referenceCode) {
this.referenceCode = referenceCode;
}
/**
* Decide the operation to do with log

@@ -109,6 +125,2 @@ * @param {JSON object} log

log,
this.path,
this.maxsize,
this.maxfiles,
this.datepattern
);

@@ -115,0 +127,0 @@ }

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc