gpt4 book ai didi

javascript - 将 JavaScript `console.log` 保存到全局变量或文件

转载 作者:行者123 更新时间:2023-11-29 18:09:59 25 4
gpt4 key购买 nike

我想以编程方式访问 console.log 数据,因此我需要实现一个 console.log,它将其数据存储在全局变量或文件中。

谁能告诉我怎么做?

最佳答案

编辑 2

请使用像 loglevel 这样的库

请参阅下面的答案以了解如何自己实现类似的功能。

原答案:

做类似的事情:

var myLogs = [];
(function () {
var log = console.log;
console.log = function () {
var args = Array.prototype.slice.call(arguments)
log.apply(this, args );
myLogs.push(args);
};
}());

全局变量 myLogs 将包含您的日志数据。

您可能希望根据需要采用代码。也许您想从 args 数组中生成一个字符串。

编辑

如果你想要console.log, console.error, console.warn, console.info 并存储日志级别:

var logData = [];
(function () {
var log = console.log,
error = console.error,
warn = console.warn,
info = console.info;

console.log = function () {
var args = Array.prototype.slice.call(arguments)
log.apply(this, args );
logData.push({level: "log", arguments: args});
};
console.error = function () {
var args = Array.prototype.slice.call(arguments)
error.apply(this, args );
logData.push({level: "error", arguments: args});
};
console.warn = function () {
var args = Array.prototype.slice.call(arguments)
warn.apply(this, args );
logData.push({level: "warn", arguments: args});
};
console.info = function () {
var args = Array.prototype.slice.call(arguments)
info.apply(this, args );
logData.push({level: "info", arguments: args});
};
}());

关于javascript - 将 JavaScript `console.log` 保存到全局变量或文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28292344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com