Implement log level in AngularJS http://plnkr.co/edit/m1PrQhZugCEz8pIsEuTE
;(function() {
angular
.module('ngLogger', ['ng'])
.provider('logger', LoggerProvider)
function LoggerProvider() {
this.levels = ['log', 'trace', 'debug', 'info', 'warn', 'error']
this.logLevel = 0
}
LoggerProvider.prototype.setLogLevel = setLogLevel
LoggerProvider.prototype.$get = $get
function setLogLevel(level) {
var index = this.levels.indexOf(level)
this.logLevel = index > -1 ? index : 0
}
$get.$inject = ['$log']
function $get($log) {
var logger = {}
this.levels.forEach(function onEachLogLevel(level) {
logger[level] = (this.levels.indexOf(level) >= this.logLevel) ? $log[level] : angular.noop
}.bind(this));
return logger
}
}())
;(function() {
angular
.module('ngLoggerExample', ['ngLogger'])
.config(configureNgLogger)
.run(runNgLogger)
configureNgLogger.$inject = ['loggerProvider']
function configureNgLogger(loggerProvider) {
loggerProvider.setLogLevel('warn')
}
runNgLogger.$inject = ['logger']
function runNgLogger(logger) {
logger.log('log message will not appear')
logger.warn('warn message will appear')
}
}())