angular-logger level demo

by plantface

HTML

<script src="https://code.angularjs.org/1.3.9/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment-with-locales.min.js"></script>
<script src="https://cdn.rawgit.com/alexei/sprintf.js/1.0.2/dist/sprintf.min.js"></script>
<script src="https://cdn.rawgit.com/better-js-logging/angular-logger/master/dist/angular-logger.min.js"></script>
<div ng-app="app"></div>

JavaScript

var app = angular.module('app', ['angular-logger']);

app.config(function (logEnhancerProvider) {
    logEnhancerProvider.prefixPattern = '%s::[%s]>';
    logEnhancerProvider.datetimePattern = 'dddd h:mm:ss a';
    logEnhancerProvider.logLevels = {
        '*': logEnhancerProvider.LEVEL.OFF,
        'main': logEnhancerProvider.LEVEL.WARN,
        'main.subB': logEnhancerProvider.LEVEL.TRACE
    };
});

app.run(function ($log) {
    $log.getInstance('banana').info('Hello World!'); // ignored, logging turned off for '*'
    $log.getInstance('main.subA').info('Hello World!'); // ignored, doesn't pass logging threshold of 'main'
    $log.getInstance('main.subB').trace('Hello World!');
    $log.getInstance('main.subB').info('Hello %s!', 'World', { 'extra': ['pass-through params'] }); 
    $log.getInstance('main.subB').info('Delayed object creation %j!', function() { return { 'is': 'awesome' }; }); 
});