【发布时间】:2013-01-28 09:58:55
【问题描述】:
我有一个项目在 2 个地方有 JavaScript。一种是在服务器端使用 node.js,而另一种显然是浏览器 JavaScript。我需要支持任何浏览器,并且我希望为所有浏览器提供一个单一的日志记录框架。我选择了 log4js,它非常适合记录字符串,但对于对象来说有点困难。
在节点中,当我执行Logger.debug(someObject); 时,我得到了一个漂亮的对象打印输出。当我尝试使用浏览器 JavaScript 执行此操作时,我得到 [object Object] 这是无用的。
有人知道怎么做吗?
(节点使用终端作为输出控制台,浏览器 JavaScript 使用浏览器的(Chrome)控制台)
【问题讨论】:
-
如果您没有将对象记录为字符串,您可以在 chrome 控制台中展开对象吗?
-
是的,但 log4js 似乎只是对刚刚打印出 [object Object] 的对象执行“toString”
-
log4javascript 已经支持此功能,但尚不支持 Node.js。下一个版本将在 Node.js 和浏览器中运行。
-
蒂姆 - 我不相信是这样的。首先,我做了 npm install log4js 并且它安装完美,版本相同,代码来自相同的作者。其次,我通读了 javascript,发现如果不按照接受的答案中的建议修改代码,就无法做到这一点。
-
@trixtur: log4js 和 log4javascript 不是一回事。
标签: javascript logging log4js-node