simple-console v0.1.1
Simple Console
Provides a simple, but useful cross-browser-compatible console logger.
Features
- Proxies to native functionality wherever possible.
- Enables
.applyand.bindusage withconsole.OPERATION. - Buildable from straight CommonJS source.
- Available as minified distributions as well.
Installation
Install via npm:
$ npm install simple-consoleor bower:
$ bower install simple-consoleUsage
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:
$ gulpSeparated:
$ gulp check
$ gulp devNode demo:
$ node examples/demo.jsNavigations:
- Test Page: http://127.0.0.1:4321/test/test.html
- Demo Page: http://127.0.0.1:4321/examples/demo.html
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,