相关疑难解决方法(0)

扩展console.log而不影响日志行

我想扩展'console.log'函数以向其输出添加其他信息 - 但我不想影响浏览器在控制台窗口中生成的脚本名称/行号信息.看看如果我创建自己的实现,我得到无用的跟踪信息,我是否应该找到代码区域...(它们都链接到日志实现,而不是导致日志消息的实际脚本)

在此输入图像描述

基本上,我的应用程序是一个非常可插拔的基础架构,任何日志输出都可能出现在任意数量的帧中.因此,我希望每条日志消息都在日志​​消息的开头包含一个特殊的唯一标识符.

我试过用自己的方法替换console.log方法,但是chrome抱怨 Uncaught TypeError: Illegal invocation

这就是我覆盖它的方式

var orig = console.log;
console.log = function( message )
{
    orig( (window == top ? '[root]' : '[' + window.name + ']') + ': ' + message );
}
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

[编辑]注意:修复"非法调用"问题后,覆盖文件中的文件名/编号仍然被"污染"...

[编辑]看起来一般的答案是 - 不 - 尽管有一些令人困惑的鹅追逐,但在当前版本的浏览器中无法实现所需的功能.

javascript google-chrome

49
推荐指数
5
解决办法
2万
查看次数

console.log包装器保存行号并支持大多数方法?

如何编写控制台日志包装器:

  • 保持记录的行号和日志语句的文件名保持不变
  • 提供对所有日志严重性方法(错误,日志,调试......)的访问,并在控制台中将其显示在所记录的位置
  • 确实提供了一些后备(例如,当浏览器不支持错误时调用log方法)
  • 可以在中央位置关闭,所以我可以关闭生产日志
  • 确实处理没有控制台存在的情况,并且不会抛出错误

由于登录Java Script是如此不一致,因此必须有一些解决方案.自己实现它有点乏味,但似乎没有好的库.

我目前发现这个记录器提供了所有功能,但它确实搞乱了行号.http://benalman.com/projects/javascript-debug-console-log/

javascript logging

48
推荐指数
4
解决办法
1万
查看次数

标签 统计

javascript ×2

google-chrome ×1

logging ×1