sazze/node-pm

View on GitHub
docs/Logger.js.html

Summary

Maintainability
Test Coverage
<!DOCTYPE html>

<html lang="en">
<head>
    <meta charset="utf-8">
    <title>node-pm Source: Logger.js</title>

    <!--[if lt IE 9]>
    <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->
    <link type="text/css" rel="stylesheet" href="styles/sunlight.default.css">

    
    <link type="text/css" rel="stylesheet" href="styles/site.cerulean.css">
    
</head>

<body>
<div class="container-fluid">
    <div class="navbar navbar-fixed-top navbar-inverse">
        <div class="navbar-inner">
            <a class="brand" href="index.html">node-pm</a>
            <ul class="nav">
                
                <li class="dropdown">
                    <a href="modules.list.html" class="dropdown-toggle" data-toggle="dropdown">Modules<b
                        class="caret"></b></a>

                    <ul class="dropdown-menu ">
                        
                        <li>
                            <a href="module-clusterEvents.html">clusterEvents</a>
                        </li>
                        
                        <li>
                            <a href="module-Logger.html">Logger</a>
                        </li>
                        
                        <li>
                            <a href="module-main.html">main</a>
                        </li>
                        
                        <li>
                            <a href="module-master.html">master</a>
                        </li>
                        
                        <li>
                            <a href="module-processEvents.html">processEvents</a>
                        </li>
                        

                    </ul>
                </li>
                
                <li class="dropdown">
                    <a href="events.list.html" class="dropdown-toggle" data-toggle="dropdown">Events<b
                        class="caret"></b></a>

                    <ul class="dropdown-menu ">
                        
                        <li>
                            <a href="module-master.html#event:shutdown">shutdown</a>
                        </li>
                        

                    </ul>
                </li>
                
            </ul>
        </div>
    </div>

    <div class="row-fluid">

        
            <div class="span12">
                
                <div id="main">
                    


        <h1 class="page-title">Source: Logger.js</h1>
    
    <section>
        <article>
            <pre class="sunlight-highlight-javascript linenums">/**
 * A Simple Logger with levels
 * @module
 * @author Kevin Smithson &lt;ksmithson@sazze.com>
 */

var Logger = module.exports = {
  /**
   * A debug log
   *
   * @param {string} message the message
   * @param {mixed} [...] arguments to pass to log
   */
  debug: function() {
    log.call(this, levels.debug, '\x1B[36m[debug]\x1B[39m ', arguments);
  },

  /**
   * A info log
   *
   * @param {string} message the message
   * @param {mixed} [...] arguments to pass to log
   */
  info: function() {
    log.call(this, levels.info, '\x1B[32m[info]\x1B[39m ', arguments);
  },

  /**
   * A verbose log
   *
   * @param {string} message the message
   * @param {mixed} [...] arguments to pass to log
   */
  verbose: function() {
    log.call(this, levels.verbose, '\x1B[35m[verbose]\x1B[39m ', arguments);
  },

  /**
   * A error log
   *
   * @param {string} message the message
   * @param {mixed} [...] arguments to pass to log
   */
  error: function() {
    log.call(this, levels.error, '\x1B[31m[error]\x1B[39m ', arguments);
  },

  /**
   * Set the level to use
   *
   * @param {int} logLevel the level of the log
   */
  set level(logLevel) {
    "use strict";
    level = logLevel;
  },

  /**
   * get the log level
   *
   * @returns {number}
   */
  get level() {
    "use strict";
    return level;
  }
}

/**
 * The levels of logs
 * @type {{verbose: number, debug: number, info: number, error: number, noLog: number}}
 */
var levels = {
  verbose: 10,
  debug: 7,
  info: 5,
  error: 1,
  noLog: 0
};

// Set default level to error
var level = levels.error;

// expose the available levels
Logger.levels = levels;

/**
 * The internal log function
 *
 * @private
 * @param {int} logLevel the log level that is allowed
 * @param prefix the prefix that gets prepended to the message
 * @param args and object of arguments, usually from global [arguments]
 */
function log(logLevel, prefix, args) {
  "use strict";
  if (logLevel > level) {
    return;
  }

  args = Array.prototype.slice.call(args);

  if (typeof args[0] === 'undefined') {
    return;
  }

  var message = args[0];
  args.splice(0, 1, prefix + message);

  console.log.apply(this, args);
}</pre>
        </article>
    </section>





                </div>

                <div class="clearfix"></div>
                <footer>
                    
                    
        <span class="copyright">
        Sazze, Inc Copyright © 2012-2013
        </span>
                    <br />
                    
        <span class="jsdoc-message">
        Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.3.0-alpha9</a>
        on Thu Sep 11 2014 11:45:56 GMT-0700 (PDT) using the <a href="https://github.com/terryweiss/docstrap">DocStrap template</a>.
        </span>
                </footer>
            </div>

            
            <br clear="both">
        </div>

    </div>
    <script src="scripts/sunlight.js"></script>
    <script src="scripts/sunlight.javascript.js"></script>
    <script src="scripts/sunlight-plugin.doclinks.js"></script>
    <script src="scripts/sunlight-plugin.linenumbers.js"></script>
    <script src="scripts/sunlight-plugin.menu.js"></script>
    <script src="scripts/jquery.min.js"></script>
    <script src="scripts/jquery.scrollTo.js"></script>
    <script src="scripts/jquery.localScroll.js"></script>
    <script src="scripts/bootstrap-dropdown.js"></script>
    <script src="scripts/toc.js"></script>


    <script>  Sunlight.highlightAll({lineNumbers:true,  showMenu: true, enableDoclinks :true}); </script>

    <script>
        $( function () {
            $( "#toc" ).toc( {
                selectors   : "h1,h2,h3,h4",
                showAndHide : false,
                scrollTo    : 60
            } );
            $( "#toc>ul" ).addClass( "nav nav-pills nav-stacked" );
            $( "#main span[id^='toc']" ).addClass( "toc-shim" );

        } );
    </script>

    

</body>
</html>