mixin to declare logging methods named after a set of log levels
npm install 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.
So the model object itself can be used as a logger and the log level is directly attaches to the model
``javascript
import { LogLevelMixin } from 'loglevel-mixin';
const LoggingEnabledClass = LogLevelMixin(
class BaseClass {
log(level, message) {
console.log(${level} ${message});
}
}
);
const someObject = new LoggingEnabledClass();
someObject.logLevel = 'error';
someObject.info(
severity => 'my info message (not reported since logLevel is error)'
);
someObject.logLevel = 'info';
someObject.info(
severity => 'my info message (reported since logLevel is now info)'
);
`
With npm do:
`shell`
npm install loglevel-mixin
* Logger
* Properties
* Loglevel
* Properties
* defaultLogLevels
* declareLevels
* Parameters
* defineLoggerMethods
* Parameters
* Examples
* LogLevelMixin
* Parameters
* Examples
* makeLogEvent
* Parameters
Type: Function
* entry Object
Type: Object
* name string priority
* number
Default log levels
* trace
* debug
* info
* notice
* warn
* error
* crit
* alert
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
`javascript`
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 void
* superclass Object class to be extendetlogLevels
* Object Object with all the available loglevels. Stored by their name (optional, default defaultLogLevels)initialLogLevel
* Loglevel the default value for the logLevel property (optional, default defaultLogLevels.info)
`javascript${level} ${message}
import { LogLevelMixin } = from 'loglevel-mixin';
class BaseClass {
log(level, message) { console.log(); }`
}
class LoggingEnabledClass extends LogLevelMixin(BaseClass) {
}
Returns Object newly created class ready to be further extendet/used
Helper function to aggregate values into a log event.
* severity string log severityarg
* (string | Object) original log message - level may be overwrittenargs` Object? additional values to be merged into the final log event - values have precedence
*
Returns {message: string} } suitable for log event processing
BSD-2-Clause