|
|
- /*global window, global*/
- var util = require("util")
- var assert = require("assert")
- function now() { return new Date().getTime() }
-
- var slice = Array.prototype.slice
- var console
- var times = {}
-
- if (typeof global !== "undefined" && global.console) {
- console = global.console
- } else if (typeof window !== "undefined" && window.console) {
- console = window.console
- } else {
- console = {}
- }
-
- var functions = [
- [log, "log"],
- [info, "info"],
- [warn, "warn"],
- [error, "error"],
- [time, "time"],
- [timeEnd, "timeEnd"],
- [trace, "trace"],
- [dir, "dir"],
- [consoleAssert, "assert"]
- ]
-
- for (var i = 0; i < functions.length; i++) {
- var tuple = functions[i]
- var f = tuple[0]
- var name = tuple[1]
-
- if (!console[name]) {
- console[name] = f
- }
- }
-
- module.exports = console
-
- function log() {}
-
- function info() {
- console.log.apply(console, arguments)
- }
-
- function warn() {
- console.log.apply(console, arguments)
- }
-
- function error() {
- console.warn.apply(console, arguments)
- }
-
- function time(label) {
- times[label] = now()
- }
-
- function timeEnd(label) {
- var time = times[label]
- if (!time) {
- throw new Error("No such label: " + label)
- }
-
- delete times[label]
- var duration = now() - time
- console.log(label + ": " + duration + "ms")
- }
-
- function trace() {
- var err = new Error()
- err.name = "Trace"
- err.message = util.format.apply(null, arguments)
- console.error(err.stack)
- }
-
- function dir(object) {
- console.log(util.inspect(object) + "\n")
- }
-
- function consoleAssert(expression) {
- if (!expression) {
- var arr = slice.call(arguments, 1)
- assert.ok(false, util.format.apply(null, arr))
- }
- }
|