问题标签 [log4javascript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何有效地使用日志机制?
我正在使用 log4javascript 来记录和跟踪我的 JavaScript 代码中的问题。我以前见过类似的日志记录辅助工具,但我很难理解如何使用这些日志级别中的每一个来更有用和更高效。
大多数时候,我最终会记录调试、信息或跟踪,而没有真正意识到它们中的每一个的效率如何。随着代码变得越来越大,它变得越来越困难,我觉得日志比帮助更麻烦。
有人可以给我一些指导/帮助,以便我可以很好地使用日志记录机制。
以下是 log4javascript 支持的不同日志级别:
log4javascript.Level.ALL
log4javascript.Level.TRACE
log4javascript.Level.DEBUG
log4javascript.Level.INFO
log4javascript.Level.WARN
log4javascript.Level.ERROR
log4javascript.Level.FATAL
javascript - 将 log4javascript 配置为 struts Web 应用程序
我们如何使用 log4j 将 JavaScript 信息和错误消息写入日志文件。
请在下面找到代码
此信息消息不会写入我的日志文件。
请建议
javascript - .ASMX 怪异从 log4javascript 日志记录中反序列化 JSON blob?
当我尝试使用带有json 布局的 ajax appender反序列化由log4javascript生成的 JSON blob 时,出现“无效的 JSON 原语” 。
我编写了一个 Web 服务方法来接收 log4javascript 发送的 JSON,但 JSON 被声明为无效,并且当 .NET 尝试反序列化它时抛出异常,我不明白为什么。
JS 设置如下所示:
“日志”方法如下所示:
上面方法中 s 的值在抛出异常之前看起来像这样: :
在我看来,这似乎是一个合理的字符串来提供反序列化器,但显然不是!任何人都知道我(或 log4javascript)做错了什么?
好的,我已经意识到我的代码有一些错误,但修复它实际上并不能解决问题。
JSON 表示一个对象数组,因此接收反序列化结果的对象需要一个字典列表。所以我修改了反序列化代码如下:
所以这是,我相信更好,但仍然抛出同样的异常。
对于它的价值,我现在在方法中有以下代码行,它执行得很好,所以它看起来越来越像是由 log4javascript 生成的 JSON,需要以某种方式进行调整
欢迎任何建议。
在注意到 JSON 的 'message' 属性本身是一个数组之后,我暂时更改了 'message' 以便它是一个缩放器。这样,JSON 看起来像这样:
...然后就可以执行了,因此问题似乎在于 JSON 具有嵌入式数组,因此需要指定不同的目标对象才能成功反序列化 JSON。
最终编辑!感谢 Tim 发现 JSON 中的缺陷,我现在有了一个工作版本。我假装 JSON 正在做正确的事情,然后以一种相当不雅的方式转储了消息有效负载,但它可能对将来的某人有用。
log4javascript - log4javascript - 以编程方式获取消息历史记录?
我正在研究在我的应用程序中使用 javascript 日志记录框架。
我非常喜欢 log4javascript ( http://log4javascript.org/ ) 的外观,但我有一个要求,但我不确定它是否满足。
我需要能够向框架询问已记录的所有消息。
也许我可以使用不可见的 InPageAppender ( http://log4javascript.org/docs/manual.html#appenders ) 登录到 DOM 元素,然后从该 DOM 元素中刮出消息 - 但这似乎很重。
也许我需要编写自己的“InMemoryAppender”?
javascript - log4javascript web.config
我在我的 ASP.NET MVC 站点中使用 log4net,并想开始在我的 JavaScript 中使用类似的包(例如 log4javascript)在那里进行日志记录。特别是记录异常,如果用户报告出现问题但不容易重现,也可以调试日志记录。
我现在有这些关于将 log4javascript 与 ASP.NET MVC 集成的问题:
1) 我想使用 log4javascript 的 AjaxAppender 向服务器发送日志消息。是否有一个包可以实现接收日志消息并将它们记录在服务器端的 Web 服务?
2) 我希望能够在服务器端 web.config 中设置客户端记录器的级别,就像使用 log4net 一样。这样,我可以在需要时打开调试日志记录,而无需修改 JavaScript 代码(所有 JS 将在生产中组合并缩小)。
我猜在每个页面加载时,服务器都可以读取 web.config 并生成一些 JavaScript 来创建客户端记录器。有没有一个包可以做到这一点?
log4javascript - 如何使用有效负载而不是 log4javascript 的表单数据
我受到网络服务的限制:它需要一个 json-payload!
所以,做类似的事情
不起作用,因为它在表单集合(data
和layout
)中创建了两个键。
如何使用内置选项获取 json-payload?
javascript - 在 log4javascript 中添加自定义日志级别
我在“log4javascript”中添加了自定义级别。使用下面的代码,
比方说,我添加了级别“CUSTLEVEL”,它的 levelValue 是 45000(在 WARN 和 ERROR 之间)。现在,我已将默认日志级别设置为 DEBUG(20000)。
当我使用“BrowserConsoleAppender”时,我得到了自定义日志的所有日志。
但是当我使用“PopUpAppender”时,我没有得到自定义日志级别的日志。
javascript - log4javascript - 不出现任何跟踪消息
我正在使用 log4javascript 版本 1.4.3。在我的应用程序中,它适用于除 trace 之外
的所有日志级别。为了简化事情并确保问题不在我的应用程序中,我使用作者的示例代码作为示例并添加了一个 setThreshold(log4javascript.TRACE),然后添加了一行来生成跟踪条目(我还删除了他的示例中的行仅与 ajaxAppender 相关,仅留下 popUpAppender)。
当我运行代码时,错误和调试消息出现在 log4javascript 弹出窗口中,但没有跟踪消息。
显然我没有正确理解跟踪级别的使用或跟踪消息的配置。如果有人可以指出我的方式错误,那么我可以修复我的应用程序日志记录。
下面失败的示例代码。
javascript - Log4Javascript AjaxAppender 请求标头
我正在尝试使用 log4javascript 的 ajaxAppender 向我的应用程序中的服务器发送一批消息。
这就是我初始化日志记录的方式:
我在服务器上使用 spring 及其 @RequestBody 标记来读取 json 对象。
这适用于我的其他服务器请求,但是在使用 ajaxAppender 时它总是失败并出现此错误;严重:servlet spring 的 Servlet.service() 抛出异常 java.lang.IllegalArgumentException: Invalid token character ',' in token "x-www-form-urlencoded, application/json"
我能看到的唯一区别是,当我检查请求标头时,用于记录的标头具有以下内容类型: Content-Type: application/x-www-form-urlencoded, application/json;charset=UTF-8
而我的其他 json 请求只有第二个字符串 'application/json;charset=UTF-8'
是否可以在没有第一个内容类型的情况下发送 ajax?不知道还有什么可以尝试的。
谢谢
javascript - PopUpAppender 的问题 - 似乎是“未定义”
我尝试log4javascript
在我的项目中包含 JS 库,因此按照一个简单的示例来配置一个简单的命名logger
对象,PopUpAppender
并且我一遍又一遍地看到相同的消息:
它指向PopUpAppender
函数中的以下行:
因此,我创建了一个简单的HTML
项目,其中只有一个index.html
普通html
站点,并包含log4javascript.js
并log4javascript_uncompressed.js
交替测试任何文件中的行为是否不同。但是每次我尝试以logger
所描述的方式初始化对象时,我都会看到同样的错误。
如果我退后一步并尝试以logger
最简单的方式初始化,例如:
一切正常,我看到记录器输出弹出并写出我的第一条日志消息。
logger
我在尝试初始化对象时做错了吗?我看不到任何绊脚石,因为我基本上在做与该log4javascript.getDefaultLogger()
方法相同的事情:
对此有任何提示吗?
编辑:
我logger
以这种方式初始化我的
编辑2:
所以,我开始了一个新的纯 HTML 项目,只有index.html
页面和js
文件夹,这是从log4javascript
*.zip 包中提取的文件夹。
这是我的整个 HTML 页面:
我仍然收到同样的错误......?