Security News
The Risks of Misguided Research in Supply Chain Security
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
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');
class BaseClass {
log(level, message) { console.log(`${level} ${message}`); }
}
llm.defineLoggerMethods(BaseClass.prototype);
class LoggingEnabledClass extends llm.LogLevelMixin(BaseClass) {
}
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
object
Generate the loglevel objects out of a list of log level names.
Kind: inner method of loglevel-mixin
Returns: object
- levels object A hash with all the loglevels. Stored by there name.
Param | Type | Description |
---|---|---|
list | Array.<string> | A list of log level names. The last name in the list will become the one with the highest priority. |
void
Adds logging methods to an existing object. For each loglevel a method with the name of the log level will be created.
Kind: inner method of loglevel-mixin
Param | Type | Description |
---|---|---|
object | object | target where to assign properties to |
logLevels | object | Hash with all the available loglevels. Stored by there name |
theFunction | function | The function 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 |
Declares two properties:
logLevel {String} info
,error
,...
logLevelPriority {Number}
Kind: inner method of loglevel-mixin
Param | Type | Description |
---|---|---|
object | object | target where the properties will be written into |
logLevels | object | Hash with all the available loglevels. Stored by there name; defaults to defaultLogLevels |
defaultLogLevel | string | the default value for the properties; defaults to info |
object
Helper function to aggregate values into a log event
Kind: inner method of loglevel-mixin
Returns: object
- suitable for log event processing
Param | Type | Description |
---|---|---|
level | string | log level |
arg | string | object | original log message - level and timestamp may be overwritten |
args | object | additional values to be merged into the final log event - values have precedence |
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 269 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.
Security News
Snyk's use of malicious npm packages for research raises ethical concerns, highlighting risks in public deployment, data exfiltration, and unauthorized testing.
Research
Security News
Socket researchers found several malicious npm packages typosquatting Chalk and Chokidar, targeting Node.js developers with kill switches and data theft.
Security News
pnpm 10 blocks lifecycle scripts by default to improve security, addressing supply chain attack risks but sparking debate over compatibility and workflow changes.