@poap-xyz/poap-logger
Advanced tools
Comparing version
@@ -5,4 +5,3 @@ import { PoapLogger, PoapLoggerLevel } from '../types'; | ||
private childLoggers; | ||
private readonly level; | ||
constructor(level: PoapLoggerLevel, options?: {}); | ||
constructor(options?: {}); | ||
log(level: PoapLoggerLevel, message: string, obj?: object): void; | ||
@@ -14,2 +13,3 @@ crit(message: string, obj: object | undefined): void; | ||
debug(message: string, obj?: object): void; | ||
setLogLevel(level: string): void; | ||
child(binding: { | ||
@@ -16,0 +16,0 @@ [p: string]: unknown; |
@@ -7,3 +7,3 @@ "use strict"; | ||
class PinoLogger { | ||
constructor(level, options = {}) { | ||
constructor(options = {}) { | ||
this.childLoggers = []; | ||
@@ -23,6 +23,5 @@ const customLevelsOptions = { | ||
...customLevelsOptions, | ||
level, | ||
messageKey: 'message', | ||
formatters: { | ||
level(label) { | ||
level(label, number) { | ||
return { level: label }; | ||
@@ -35,3 +34,2 @@ }, | ||
}); | ||
this.level = level; | ||
} | ||
@@ -61,4 +59,7 @@ log(level, message, obj) { | ||
} | ||
setLogLevel(level) { | ||
this.logger.level = level; | ||
} | ||
child(binding) { | ||
const child = new PinoLogger(this.level); | ||
const child = new PinoLogger(); | ||
child.logger = this.logger.child({ ...binding }); | ||
@@ -69,8 +70,3 @@ this.childLoggers.push(child); | ||
silent(setSilent) { | ||
if (setSilent) { | ||
this.logger.level = 'silent'; | ||
} | ||
else { | ||
this.logger.level = this.level; | ||
} | ||
this.logger.level = setSilent ? 'silent' : 'info'; | ||
this.childLoggers.forEach(childLogger => { | ||
@@ -77,0 +73,0 @@ childLogger.silent(setSilent); |
import { PoapLogger, PoapLoggerLevel } from '../types'; | ||
export declare class WinstonLogger { | ||
export declare class WinstonLogger implements PoapLogger { | ||
private logger; | ||
constructor(); | ||
log(level: PoapLoggerLevel, message: string, obj: object | undefined): void; | ||
emerg(message: string, obj: object | undefined): void; | ||
alert(message: string, obj: object | undefined): void; | ||
crit(message: string, obj: object | undefined): void; | ||
error(message: string, obj?: object): void; | ||
error(message: string, obj: object | undefined): void; | ||
warn(message: string, obj: object | undefined): void; | ||
notice(message: string, obj: object | undefined): void; | ||
info(message: string, obj: object | undefined): void; | ||
@@ -13,0 +10,0 @@ debug(message: string, obj: object | undefined): void; |
@@ -7,3 +7,3 @@ "use strict"; | ||
if (value instanceof Error) { | ||
return { ...value, msg: value.message, stack: value.stack, type: value.name }; | ||
return { ...value, message: value.message, stack: value.stack, type: value.constructor.name }; | ||
} | ||
@@ -14,4 +14,8 @@ return value; | ||
constructor() { | ||
const customSyslogLevels = { | ||
...winston_1.config.syslog.levels, | ||
warn: 4, // we use level warn instead of warning | ||
}; | ||
this.logger = (0, winston_1.createLogger)({ | ||
levels: winston_1.config.syslog.levels, | ||
levels: customSyslogLevels, | ||
format: winston_1.format.combine(winston_1.format.timestamp(), winston_1.format.json({ replacer: errorReplacer })), | ||
@@ -29,12 +33,5 @@ transports: [ | ||
} | ||
//PoapLoggerLevels map 1 to 1 with Winston logger levels so no level mapper required | ||
log(level, message, obj) { | ||
this.logger.log(level, message, obj); | ||
} | ||
emerg(message, obj) { | ||
this.logger.emerg(message, obj); | ||
} | ||
alert(message, obj) { | ||
this.logger.alert(message, obj); | ||
} | ||
crit(message, obj) { | ||
@@ -47,7 +44,4 @@ this.logger.crit(message, obj); | ||
warn(message, obj) { | ||
this.logger.warning(message, obj); | ||
this.logger.warn(message, obj); | ||
} | ||
notice(message, obj) { | ||
this.logger.notice(message, obj); | ||
} | ||
info(message, obj) { | ||
@@ -54,0 +48,0 @@ this.logger.info(message, obj); |
@@ -6,2 +6,3 @@ "use strict"; | ||
const winstonLogger_1 = require("./implementations/winstonLogger"); | ||
const pinoLogger_1 = require("./implementations/pinoLogger"); | ||
class PoapLoggerFactory { | ||
@@ -16,5 +17,16 @@ /** Creates a new logger instance. | ||
const _options = { ...this.defaultOptions, ...options }; | ||
this.logger = _options.metadata | ||
? new winstonLogger_1.WinstonLogger().child({ ..._options.metadata }) | ||
: new winstonLogger_1.WinstonLogger(); | ||
switch (_options.type) { | ||
case types_1.PoapLoggerType.WINSTON_LOGGER: | ||
this.logger = new winstonLogger_1.WinstonLogger(); | ||
if (_options.metadata) { | ||
this.logger = this.logger.child({ ..._options.metadata }); | ||
} | ||
break; | ||
case types_1.PoapLoggerType.PINO_LOGGER: | ||
const pinoOptions = _options.metadata ? { base: _options.metadata } : {}; | ||
this.logger = new pinoLogger_1.PinoLogger(pinoOptions); | ||
break; | ||
default: | ||
throw new Error(`Unsupported logger type: ${_options.type}`); | ||
} | ||
return this.logger; | ||
@@ -21,0 +33,0 @@ } |
@@ -9,8 +9,5 @@ export type PoapLoggerOptions = { | ||
log: (level: PoapLoggerLevel, message: string, obj?: object) => void; | ||
emerg: (message: string, obj?: object) => void; | ||
alert: (message: string, obj?: object) => void; | ||
crit: (message: string, obj?: object) => void; | ||
error: (message: string, obj?: object) => void; | ||
warn: (message: string, obj?: object) => void; | ||
notice: (message: string, obj?: object) => void; | ||
info: (message: string, obj?: object) => void; | ||
@@ -25,8 +22,5 @@ debug: (message: string, obj?: object) => void; | ||
export declare enum PoapLoggerLevel { | ||
EMERG = "emerg", | ||
ALERT = "alert", | ||
CRIT = "crit", | ||
CRITICAL = "crit", | ||
ERROR = "error", | ||
WARNING = "warn", | ||
NOTICE = "notice", | ||
INFO = "info", | ||
@@ -36,3 +30,4 @@ DEBUG = "debug" | ||
export declare enum PoapLoggerType { | ||
WINSTON_LOGGER = 0 | ||
WINSTON_LOGGER = 0, | ||
PINO_LOGGER = 1 | ||
} |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.PoapLoggerType = exports.PoapLoggerLevel = void 0; | ||
// RFC5424 standard | ||
var PoapLoggerLevel; | ||
(function (PoapLoggerLevel) { | ||
PoapLoggerLevel["EMERG"] = "emerg"; | ||
PoapLoggerLevel["ALERT"] = "alert"; | ||
PoapLoggerLevel["CRIT"] = "crit"; | ||
PoapLoggerLevel["CRITICAL"] = "crit"; | ||
PoapLoggerLevel["ERROR"] = "error"; | ||
PoapLoggerLevel["WARNING"] = "warn"; | ||
PoapLoggerLevel["NOTICE"] = "notice"; | ||
PoapLoggerLevel["INFO"] = "info"; | ||
@@ -20,3 +16,4 @@ PoapLoggerLevel["DEBUG"] = "debug"; | ||
PoapLoggerType[PoapLoggerType["WINSTON_LOGGER"] = 0] = "WINSTON_LOGGER"; | ||
PoapLoggerType[PoapLoggerType["PINO_LOGGER"] = 1] = "PINO_LOGGER"; | ||
})(PoapLoggerType || (exports.PoapLoggerType = PoapLoggerType = {})); | ||
//# sourceMappingURL=types.js.map |
{ | ||
"name": "@poap-xyz/poap-logger", | ||
"version": "1.4.0", | ||
"version": "1.5.0", | ||
"description": "A logger for POAP", | ||
@@ -44,2 +44,3 @@ "main": "dist/src/index.js", | ||
"dependencies": { | ||
"pino": "^8.17.2", | ||
"winston": "^3.11.0" | ||
@@ -46,0 +47,0 @@ }, |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
0
-100%22180
-0.01%2
100%314
-2.79%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
+ Added