Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
loglevel-mixin
Advanced tools
Injects methods named after a set of logLevels which are only forwarding messages. If the current logLevel is higher or equal to the logLevel the name of the called method reflects.
const llm = require('loglevel-mixin');
let someObject = {
log(level, message) {
console.log(`${level} ${message}`);
}
};
llm.defineLoggerMethods(someObject);
llm.defineLogLevelProperties(someObject);
someObject.logLevel = 'error';
someObject.info(
level => 'my info message (not reported since logLevel is error)'
);
someObject.logLevel = 'info';
someObject.info(
level => 'my info message (reported since logLevel is now info)'
);
const llm = require('loglevel-mixin');
const LoggingEnabledClass = llm.LogLevelMixin(
class BaseClass {
log(level, message) {
console.log(`${level} ${message}`);
}
}
);
const someObject = new LoggingEnabledClass();
someObject.logLevel = 'error';
someObject.info(
level => 'my info message (not reported since logLevel is error)'
);
someObject.logLevel = 'info';
someObject.info(
level => 'my info message (reported since logLevel is now info)'
);
With npm do:
npm install loglevel-mixin
Type: Function
entry
Objectdefault log levels
Type: Object
Generate the loglevel objects out of a list of log level names.
list
Array<string> A list of log level names. The last name in the list will become the one with the highest priority.Returns Object levels object a hash with all the loglevels. Stored by there name.
Adds logging methods to an existing object. For each loglevel a method with the name of the log level will be created.
object
Object target where to assign properties tologLevels
Object Hash with all the available loglevels. Stored by there name (optional, default defaultLogLevels
)theFunction
Logger to be added under the loglevel name.
This function will only be called if the current loglevel is greater equal
the log level of the called logging function.
By default a method log(level,message) will be used (optional, default undefined
)defineLoggerMethods( obj)
obj.info('info entry'); // will redirect to theFunction if obj.loglevel is at least info
obj.error('error entry'); // will redirect to theFunction if obj.loglevel is at least error
Returns undefined
symbol holding the actual logLevel inside of the target object
superclass
class class to be extendetlogLevels
Object Object with all the available loglevels. Stored by their name (optional, default defaultLogLevels
)defaultLogLevel
string the default value for the logLevel property (optional, default defaultLogLevels.info
)import { LogLevelMixin } = from 'loglevel-mixin';
class BaseClass {
log(level, message) { console.log(`${level} ${message}`); }
}
class LoggingEnabledClass extends LogLevelMixin(BaseClass) {
}
Returns class newly created class ready to be further extendet/used
Declares two properties:
object
Object target where the properties will be written intologLevels
Object Hash with all the available loglevels. Stored by there name (optional, default defaultLogLevels
)defaultLogLevel
string the default value for the properties (optional, default defaultLogLevels.info
)Helper function to aggregate values into a log event
level
string log levelarg
(string | Object) original log message - level and timestamp may be overwrittenargs
Object? additional values to be merged into the final log event - values have precedenceReturns Object suitable for log event processing
BSD-2-Clause
FAQs
mixin to declare logging methods named after a set of log levels
The npm package loglevel-mixin receives a total of 473 weekly downloads. As such, loglevel-mixin popularity was classified as not popular.
We found that loglevel-mixin demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.