javascript - 如何使 log4js 像 console.log 那样打印对象

标签 javascript logging log4js-node

我有一个项目在 2 个地方有 JavaScript。一个是在服务器端使用 node.js,而另一个显然是浏览器 JavaScript。我需要支持任何浏览器,并且我希望为所有浏览器提供一个单一的日志记录框架。我选择了 log4js,它非常适合记录字符串,但对于对象来说有点困难。

在节点中,当我执行 Logger.debug(someObject); 时,我得到了对象的 pretty-print 输出。当我尝试使用我的浏览器 JavaScript 执行此操作时,我得到了无用的 [object Object]。

有人知道怎么做吗?

(节点使用终端作为输出控制台,浏览器 JavaScript 使用浏览器的(Chrome)控制台)

最佳答案

log4js 在开发方面还很年轻。 我会在“doAppend”中修改第 1795 行附近的源代码

if(typeof(loggingEvent.message) === 'object')
    return window.console.log(loggingEvent.level.levelStr + " - %o", loggingEvent.message);

关于javascript - 如何使 log4js 像 console.log 那样打印对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14843672/

相关文章:

javascript - 在特定页面的模板标题中包含 Google 实验代码

c# - 我的日志管理器的路径共享违规

c# - ServiceCollection 不包含来自 "AddLogging"的定义

javascript - log4js https 日志记录端点

node.js - 在 Log4js 中禁用控制台打印

javascript - 范围 slider 输入事件未在 IE 10 中触发

javascript - AEM - 获取子组件对话框内父组件对话的属性

windows - 在Windows上安装LogStash

node.js - 具有不同日志级别的 log4js appender

javascript - setTimeout如何才能按顺序运行