New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@qawolf/logger

Package Overview
Dependencies
Maintainers
2
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@qawolf/logger - npm Package Compare versions

Comparing version 0.8.1 to 0.8.2

1

lib/index.d.ts
import { Logger } from "./Logger";
export declare const browserLogger: Logger;
export declare const logger: Logger;

3

lib/index.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Logger_1 = require("./Logger");
exports.logger = new Logger_1.Logger();
exports.browserLogger = new Logger_1.Logger("browser");
exports.logger = new Logger_1.Logger("qawolf");
//# sourceMappingURL=index.js.map

@@ -0,8 +1,17 @@

declare type LogCallback = (level: string, message: string) => void;
export declare class Logger {
private _logger;
constructor();
private _name;
private _logCallbacks;
constructor(name: string);
private ensureTransport;
get numTransports(): number;
debug(message: string): void;
error(message: string): void;
onLog(callback: LogCallback): void;
info(message: string): void;
log(level: string, message: string): void;
verbose(message: string): void;
warn(message: string): void;
}
export {};

@@ -9,24 +9,44 @@ "use strict";

const winston_1 = __importDefault(require("winston"));
const LogLevels = ["debug", "error", "info", "verbose", "warn"];
class Logger {
constructor() {
this._logger = winston_1.default.createLogger({
transports: [
config_1.CONFIG.artifactPath
? createFileTransport(config_1.CONFIG.artifactPath)
: createConsoleTransport()
]
});
constructor(name) {
this._logCallbacks = [];
this._logger = winston_1.default.createLogger({ transports: [] });
this._name = name;
}
ensureTransport() {
if (this._logger.transports.length)
return;
const transport = config_1.CONFIG.artifactPath
? createFileTransport(config_1.CONFIG.artifactPath, this._name)
: createConsoleTransport();
this._logger.add(transport);
}
get numTransports() {
return this._logger.transports.length;
}
debug(message) {
this._logger.debug(message);
this.log("debug", message);
}
error(message) {
this._logger.error(message);
this.log("error", message);
}
onLog(callback) {
this._logCallbacks.push(callback);
}
info(message) {
this._logger.info(message);
this.log("info", message);
}
log(level, message) {
this.ensureTransport();
const logLevel = LogLevels.includes(level) ? level : "info";
this._logger.log(logLevel, message);
this._logCallbacks.forEach(cb => cb(level, message));
}
verbose(message) {
this._logger.verbose(message);
this.log("verbose", message);
}
warn(message) {
this.log("warn", message);
}
}

@@ -39,6 +59,6 @@ exports.Logger = Logger;

});
const createFileTransport = (path) => {
const createFileTransport = (path, name) => {
fs_extra_1.ensureDirSync(path);
return new winston_1.default.transports.File({
filename: `${path}/${Date.now()}.log`,
filename: `${path}/${name}_${Date.now()}.log`,
format: winston_1.default.format.combine(winston_1.default.format.timestamp(), formatPrint),

@@ -45,0 +65,0 @@ level: config_1.CONFIG.logLevel || "verbose"

{
"name": "@qawolf/logger",
"description": "qawolf logger (node only)",
"version": "0.8.1",
"version": "0.8.2",
"license": "BSD-3.0",

@@ -12,2 +12,5 @@ "main": "./lib/index.js",

],
"scripts": {
"test": "jest"
},
"repository": {

@@ -24,6 +27,6 @@ "type": "git",

"dependencies": {
"@qawolf/config": "^0.8.1",
"@qawolf/config": "^0.8.2",
"winston": "^3.2.1"
},
"gitHead": "d4bea87a2668278cc4ab832e308f9f2ea90fc255"
"gitHead": "74449a08eae50066278c613ca19b7c05050bc551"
}
import { Logger } from "./Logger";
// export singleton
export const logger = new Logger();
export const browserLogger = new Logger("browser");
export const logger = new Logger("qawolf");

@@ -5,30 +5,60 @@ import { CONFIG } from "@qawolf/config";

const LogLevels = ["debug", "error", "info", "verbose", "warn"];
type LogCallback = (level: string, message: string) => void;
export class Logger {
private _logger: winston.Logger;
private _name: string;
private _logCallbacks: LogCallback[] = [];
constructor() {
this._logger = winston.createLogger({
transports: [
CONFIG.artifactPath
? createFileTransport(CONFIG.artifactPath)
: createConsoleTransport()
]
});
constructor(name: string) {
this._logger = winston.createLogger({ transports: [] });
this._name = name;
}
debug(message: string) {
this._logger.debug(message);
private ensureTransport() {
if (this._logger.transports.length) return;
const transport = CONFIG.artifactPath
? createFileTransport(CONFIG.artifactPath, this._name)
: createConsoleTransport();
this._logger.add(transport);
}
error(message: string) {
this._logger.error(message);
public get numTransports() {
return this._logger.transports.length;
}
info(message: string) {
this._logger.info(message);
public debug(message: string) {
this.log("debug", message);
}
verbose(message: string) {
this._logger.verbose(message);
public error(message: string) {
this.log("error", message);
}
public onLog(callback: LogCallback) {
this._logCallbacks.push(callback);
}
public info(message: string) {
this.log("info", message);
}
public log(level: string, message: string) {
this.ensureTransport();
const logLevel = LogLevels.includes(level) ? level : "info";
this._logger.log(logLevel, message);
this._logCallbacks.forEach(cb => cb(level, message));
}
public verbose(message: string) {
this.log("verbose", message);
}
public warn(message: string) {
this.log("warn", message);
}
}

@@ -50,7 +80,7 @@

const createFileTransport = (path: string) => {
const createFileTransport = (path: string, name: string) => {
ensureDirSync(path);
return new winston.transports.File({
filename: `${path}/${Date.now()}.log`,
filename: `${path}/${name}_${Date.now()}.log`,
format: winston.format.combine(winston.format.timestamp(), formatPrint),

@@ -57,0 +87,0 @@ level: CONFIG.logLevel || "verbose"

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

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

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc