Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

loglevel-mixin

Package Overview
Dependencies
Maintainers
1
Versions
69
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

loglevel-mixin

mixin to declare logging methods named after a set of log levels

  • 1.6.6
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
530
increased by16.74%
Maintainers
1
Weekly downloads
 
Created
Source

npm semantic-release Build Status bithound codecov.io Coverage Status Code Climate Known Vulnerabilities GitHub Issues Dependency Status devDependency Status docs downloads Commitizen friendly

loglevel-mixin

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.

usage

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)')

works for ES2015 classes to

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)')

install

With npm do:

npm install loglevel-mixin

API Reference

  • loglevel-mixin

loglevel-mixin~declareLevels(list) ⇒ 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.

ParamTypeDescription
listArray.<string>A list of log level names. The last name in the list will become the one with the highest priority.

loglevel-mixin~defineLoggerMethods(object, logLevels, theFunction) ⇒ 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

ParamTypeDescription
objectobjecttarget where to assign properties to
logLevelsobjectHash with all the available loglevels. Stored by there name
theFunctionfunctionThe 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

loglevel-mixin~defineLogLevelProperties(object, logLevels, defaultLogLevel)

Declares two properties: logLevel {String} info,error,... logLevelPriority {Number}

Kind: inner method of loglevel-mixin

ParamTypeDescription
objectobjecttarget where the properties will be written into
logLevelsobjectHash with all the available loglevels. Stored by there name; defaults to defaultLogLevels
defaultLogLevelstringthe default value for the properties; defaults to info

loglevel-mixin~makeLogEvent(level, arg, args) ⇒ object

Helper function to aggregate values into a log event

Kind: inner method of loglevel-mixin
Returns: object - suitable for log event processing

ParamTypeDescription
levelstringlog level
argstring | objectoriginal log message - level and timestamp may be overwritten
argsobjectadditional values to be merged into the final log event - values have precedence

license

BSD-2-Clause

Keywords

FAQs

Package last updated on 02 Dec 2016

Did you know?

Socket

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.

Install

Related posts

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