Console API

From FirebugWiki

Revision as of 23:56, 21 November 2013 by Sebastianz (Talk | contribs)
Jump to: navigation, search

Firebug adds a global variable named "console" to all web pages loaded in Firefox. This object contains many methods that allow you to write to the Firebug console to expose information that is flowing through your scripts.

Contents

Commands

console.log(object[, object, ...])

Writes a message to the console. You may pass as many arguments as you'd like, and they will be joined together in a space-delimited line.

console.debug(object[, object, ...])

Writes a message to the console, including a hyperlink to the line where it was called.

console.info(object[, object, ...])

Writes a message to the console with the visual "info" icon and color coding and a hyperlink to the line where it was called.

console.warn(object[, object, ...])

Writes a message to the console with the visual "warning" icon and color coding and a hyperlink to the line where it was called.

console.error(object[, object, ...])

Writes a message to the console with the visual "error" icon and color coding and a hyperlink to the line where it was called.

console.assert(expression[, object, ...])

Tests that an expression is true. If not, it will write a message to the console and throw an exception.

console.clear()

Clears the console.

console.dir(object)

Prints an interactive listing of all properties of the object. This looks identical to the view that you would see in the DOM Panel.

console.dirxml(node)

Prints the XML source tree of an HTML or XML element. This looks identical to the view that you would see in the HTML Panel. You can click on any node to inspect it in the HTML Panel.

console.trace()

Prints an interactive stack trace of JavaScript execution at the point where it is called.

The stack trace details the functions on the stack, as well as the values that were passed as arguments to each function. You can click each function to take you to its source in the Script tab, and click each argument value to inspect it in the DOM or HTML Panel.

console.group(object[, object, ...])

Writes a message to the console and opens a nested block to indent all future messages sent to the console. Call console.groupEnd() to close the block.

console.groupCollapsed(object[, object, ...])

Like console.group(), but the block is initially collapsed.

console.groupEnd()

Closes the most recently opened block created by a call to console.group() or console.groupCollapsed()

console.time(name)

Creates a new timer under the given name. Call console.timeEnd() with the same name to stop the timer and print the time elapsed.

console.timeEnd(name)

Stops a timer created by a call to console.time(name) and writes the time elapsed.

console.timeStamp(name)

Creates a time stamp, which can be used together with HTTP traffic timing to measure when a certain piece of code was executed.

console.profile([title])

Turns on the JavaScript profiler.

console.profileEnd()

Turns off the JavaScript profiler and prints its report.

console.count([title])

Writes the number of times that the line of code where count was called was executed.

console.exception(error-object[, object, ...])

Prints an error message together with an interactive stack trace of JavaScript execution at the point where the exception occurred.

console.table(data[, columns])

Allows to log provided data using tabular layout.

Implementation Notes

  • The console is an object attached to the window object in the web page.
  • If the page already contains a console variable, it is not overwritten by Firebug's Console API.
  • In Firebug for Firefox the object is attached only if the Console Panel is enabled, and it is injected just before the first JavaScript script tag is run. So the first script tag is compiled, then the console is injected, then the outer function code of the script tag is executed. As a consequence, Firebug might not always catch logs done by e.g. Greasemonkey scripts. This might be fixed in a future version.
  • In Firebug Lite, the console is attached as soon as Lite is installed into the page.

Note

The console API formerly implemented a console.firebug property. This property was removed from the API in Firebug 1.9.0 in order to prevent sites from detecting whether a user has Firebug installed.

See also

Personal tools