simple-console

0.1.1 • Public • Published

Simple Console

Provides a simple, but useful cross-browser-compatible console logger.

Build Status Coverage Status

Sauce Test Status

Features

  • Proxies to native functionality wherever possible.
  • Enables .apply and .bind usage with console.OPERATION.
  • Buildable from straight CommonJS source.
  • Available as minified distributions as well.

Installation

Install via npm:

$ npm install simple-console

or bower:

$ bower install simple-console

Usage

Import the SimpleConsole class into your code (via AMD, CommonJS, etc) and use as a drop-in replacement for console.OPERATION. Creating a new object does not effect the existing window.console object.

AMD

define(["simple-console"], function (SimpleConsole) {
  var con = new SimpleConsole();
  con.log("Hello world!");
});

CommonJS

var SimpleConsole = require("simple-console");
var con = new SimpleConsole();
con.log("Hello world!");

VanillaJS

In your HTML:

<!-- Option One: Minified -->
<script src="PATH/TO/simple-console/dist/simple-console.min.js"></script>
 
<!-- Option Two: Raw source -->
<script src="PATH/TO/simple-console/simple-console.js"></script>

In your JS:

var con = new window.SimpleConsole();
con.log("Hello world!");

Noop Logger

There are some cases where you will want to conditionally silence the logger. You can do this by passing setting the noop option:

var con = new SimpleConsole({ noop: true });
con.log("Hello world!"); // => Should _not_ output anything.

This is usually useful in a case where you build different capabilities based on some external information, for example, React-style, this could be something like:

var con = new SimpleConsole({
  noop: process.env.NODE_ENV === "production"
});
 
con.log("Hello world!"); // => Should _not_ output anything in `production`.

Polyfill

If you are looking to polyfill console, then you can:

new SimpleConsole({ patch: true });

This will mutate the window.console object in ways that are not easily undone, so consider this a "one way" patch. Moreover, if window.console does not exist, it will create the object.

You can even go further and patch and noop the logger with:

new SimpleConsole({ patch: true, noop: true });

which ensures that nothing logs anything.

Note: In addition to filling/patching missing behavior, the polyfill will replace behavior that already exists and works. This is presently due to complexities likely normalizing and ensuring things like .bind, .apply and .call work on all log methods.

Development

Run checks, then development server:

$ gulp

Separated:

$ gulp check
$ gulp dev

Node demo:

$ node examples/demo.js

Navigations:

Release process:

  • Bump versions in package.json, bower.json
  • Run npm run-script everything
  • Edit HISTORY.md
  • Run gulp check:all

Also See

Similar projects that can help with console:

License

Copyright 2015 Formidable Labs, Inc. Released under the MIT License,

Readme

Keywords

Package Sidebar

Install

npm i simple-console

Weekly Downloads

0

Version

0.1.1

License

MIT

Last publish

Collaborators

  • ryan.roemer