all files / scripts/utils/ consoleLogger.js

57.89% Statements 22/38
45% Branches 9/20
41.67% Functions 5/12
57.89% Lines 22/38
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102          60×       50×   50×     50×   50×                 124×   124×                                               134×   134×                                 50×                                      
/*jshint unused:false */
"use strict";
 
var _verbosity = 0;
var _prefix = "[videojs-vast-vpaid] ";
 
function setVerbosity (v)
{
    _verbosity = v;
}
 
function handleMsg (method, args)
{
    Eif ((args.length) > 0 && (typeof args[0] === 'string'))
    {
        args[0] = _prefix + args[0];
    }
 
    Eif (method.apply)
    {
        method.apply (console, Array.prototype.slice.call(args));
    }
    else
    {
        method (Array.prototype.slice.call(args));
    }
}
 
function debug ()
{
    Eif (_verbosity < 4)
    {
        return;
    }
 
    if (typeof console.debug === 'undefined')
    {
        // IE 10 doesn't have a console.debug() function
        handleMsg (console.log, arguments);
    }
    else
    {
        handleMsg (console.debug, arguments);
    }
}
 
function log ()
{
    if (_verbosity < 3)
    {
        return;
    }
 
    handleMsg (console.log, arguments);
}
 
function info ()
{
    Eif (_verbosity < 2)
    {
        return;
    }
 
    handleMsg (console.info, arguments);
}
 
 
function warn ()
{
    if (_verbosity < 1)
    {
        return;
    }
 
    handleMsg (console.warn, arguments);
}
 
function error ()
{
    handleMsg (console.error, arguments);
}
 
var consoleLogger = {
    setVerbosity: setVerbosity,
    debug: debug,
    log: log,
    info: info,
    warn: warn,
    error: error
};
 
Iif ((typeof (console) === 'undefined') || !console.log)
{
    // no console available; make functions no-op
    consoleLogger.debug = function () {};
    consoleLogger.log = function () {};
    consoleLogger.info = function () {};
    consoleLogger.warn = function () {};
    consoleLogger.error = function () {};
}
 
module.exports = consoleLogger;