终于找到你!如何将前端console.log的日志保存成文件? -凯发k8官方网
debugout.js的原理是将所有日志序列化后,保存到一个变量里。当然这个变量不会无限大,因为默认的最大日志限制是2500行,这个是可配置的。另外,debugout.js也支持在localstorage里存储日志的。
一般来说,可以使用打开console面板,然后右键save,是可以将console.log输出的信息另存为log文件的。但是这就把所有的日志都包含进来了,如何只保存我想要的日志呢?(调试输出)从您的日志中生成可以搜索,时间戳,下载等的文本文件。 参见下面的一些例子。
debugout的log()接受任何类型的对象,包括函数。 debugout不是一个猴子补丁,而是一个单独的记录类,你使用而不是控制台。
调试的一些亮点:
- 在运行时或任何时间获取整个日志或尾部
- 搜索并切片日志
- 更好地了解可选时间戳的使用模式
- 在一个地方切换实时日志记录(console.log)
- 可选地将输出存储在window.localstorage中,并在每个会话中持续添加到同一个日志
- 可选地,将日志上限为x个最新行以限制内存消耗
下图是使用downloadlog方法下载的日志文件。
官方提供的demo示例,欢迎试玩。http://inorganik.github.io/de...
在脚本顶部的全局命名空间中创建一个新的调试对象,并使用debugout的日志方法替换所有控制台日志方法:
var bugout = new debugout();// instead of console.log('some object or string') bugout.log('some object or string');- log() -像console.log(), 但是会自动存储
- getlog() - 返回所有日志
- tail(numlines) - 返回尾部执行行日志,默认100行
- search(string) - 搜索日志
- getslice(start, numlines) - 日志切割
- downloadlog() - 下载日志
- clear() - 清空日志
- determinetype() - 一个更细粒度的typeof为您提供方便
···
// log in real time (forwards to console.log)
self.realtimeloggingon = true;
// insert a timestamp in front of each log
self.usetimestamps = false;
// store the output using window.localstorage() and continuously add to the same log each session
self.uselocalstorage = false;
// set to false after you're done debugging to avoid the log eating up memory
self.recordlogs = true;
// to avoid the log eating up potentially endless memory
self.autotrim = true;
// if autotrim is true, this many most recent lines are saved
self.maxlines = 2500;
// how many lines tail() will retrieve
self.tailnumlines = 100;
// filename of log downloaded with downloadlog()
self.logfilename = 'log.txt';
// max recursion depth for logged objects
self.maxdepth = 25;
···
https://github.com/inorganik/...
我自己也模仿debugout.js写了一个日志保存的项目,该项目可以在ie10及以上下载日志。
debugout.js在ie浏览器上下载日志的方式是有问题的。
项目地址:https://github.com/wangduandu...
总结
以上是凯发k8官方网为你收集整理的终于找到你!如何将前端console.log的日志保存成文件?的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: