NodeJS - console.trace() 方法



Node.js console.trace() 方法是 Console 方法的内置方法。

此方法将堆栈“Trace”打印到代码的当前位置,然后是 stderr 上的新行中的消息和替换值。它显示了调用此特定函数的代码行以及在它之前调用的所有其他函数,包括它们的参数和返回值(如果有)。此方法几乎类似于 Node.js 的 console.error() 方法。

现在,让我们看看 node.js 的 console.trace() 方法的语法和用法。

语法

以下是 Node.js console.trace() 方法的语法 -


 console.trace(message, …args);

参数

此方法只接受两个参数。下文将对此进行讨论。

  • 第一个参数消息将打印在 stderr 上。
  • 第二个参数 args 是一个可选参数,我们可以在消息中传递替换值,这些值将被传递给消息。

返回值

此方法会将带有字符串“Trace”的堆栈打印到代码的当前位置,然后是 stderr 上的新行中的消息和替换值。

在下面的示例中,我们调用了 Node.js console.trace() 方法,而不传递任何消息和 args 参数。


console.trace();

输出

正如我们在上面的输出中看到的,trace() 方法将堆栈 'Trace' 打印到代码的当前位置。代码在上述代码中的当前位置显示为 1:9。这意味着 console.trace() 首先启动 1。

Trace
at Object.<anonymous> (/home/cg/root/639ac5040c88c/main.js:1:71)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

在下面的示例中,我们使用其第一个参数(消息)调用 console.trace() 方法。


console.trace("This is an error!");

输出

如果我们编译并运行上述代码,我们可以看到字符串“Trace”打印了我们传递到方法中的消息。

Trace: This is an error!
at Object.<anonymous> (/home/cg/root/639ac5040c88c/main.js:1:71)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

在下面的以下示例中,我们通过传递两个参数(message、...args) 添加到方法中。


console.trace("This is an %s", 'error!');

输出

正如我们在下面的输出中看到的,替换值传递到消息中并打印了 Trace 堆栈。

Trace: This is an error!
at Object.<anonymous> (/home/cg/root/639ac5040c88c/main.js:1:71)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)

在下面的示例中,我们在函数内部调用 console.trace() 方法。


function one(){
	 	console.trace("This is an error!");
}
one();

输出

正如我们在下面的输出中看到的,它正在将堆栈“Trace”打印到代码的当前位置,然后是消息。

Trace: This is an error!
at one (/home/cg/root/639ad99d5e18e/main.js:2:13)
at Object.<anonymous> (/home/cg/root/639ad99d5e18e/main.js:4:1)
at Module._compile (internal/modules/cjs/loader.js:702:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10)
at Module.load (internal/modules/cjs/loader.js:612:32)
at tryModuleLoad (internal/modules/cjs/loader.js:551:12)
at Function.Module._load (internal/modules/cjs/loader.js:543:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:744:10)
at startup (internal/bootstrap/node.js:238:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)