nmaier edited this page Jul 11, 2011 · 10 revisions

A smarter console, ensuring the availability of the log, debug, warn, error, info, and trace methods regardless of the console implementation (typically Firebug or the Web Console).

While the aforementioned methods are available using any console, some present the information in a better fashion than others. For that reason, Scriptish will attempt to pick a console in the following order:

1. Firebug

Firebug is a very popular and powerful development add-on for Firefox, offering a suite of useful tools.

Firebug's console natively supports the methods mentioned above, as well as: assert, dir, dirxml, group, groupEnd, time, timeEnd, count, profile and profileEnd.

Please refer to Firebug's logging page for details regarding the use of this console.

2. Web Console

While not as full-featured as Firebug, the Web Console has the advantage of being integrated with the product as of Gecko 2.0 (Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1).

Please refer to Mozilla's Using the Web Console page for details regarding the use of this console.

Note: As of Gecko 6.0 (Firefox 6 / Thunderbird 6 / SeaMonkey 2.3) the Web Console implements its own trace method. Older versions will use Scriptish's implemention.


// Log a simple string
console.log("Hello World!");

// Log a simple string again
GM_log("Hello World!");

// Log multiple items at once
var a = [1,2,3];
console.log("Hello", "World!", "var a is", a, "and 1 + 1 =", 1 + 1);
// Hello World! var a is [1, 2, 3] and 1 + 1 = 2
// Log an error
// Firebug and the Web Console will present this in a special style
console.error("Something bad happened!");
// Log a stack trace (
function myFunc() {

function myOtherFunc() {