问题标签 [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.

0 投票
1 回答
719 浏览

ajax - 使用 Django 后端配置 log4javascript 的 ajaxAppender

我正在尝试在 DJango 中配置 log4javascript 的 ajaxAppender。我已经制作了一个文件frontendlog.json,我想在其中编写从前端开始的日志。这就是我编写脚本的方式myPage.html.

在我的 django urls.py 我有这个条目url(r'^frontEndLog/$', 'TryOn.views.frontEndLog'),

在我的 django 视图中,我有这个视图功能

所以我希望 frontEndLog 与frontEndLog.json django 中的其他 HTML 写在同一位置。但是,它告诉我XMLhttpRequest Request to URL returned status code 500。有人可以告诉我这里哪里出错了,这是在 django 中使用 log4javascript 的正确方法吗?

0 投票
1 回答
47 浏览

javascript - 无法覆盖 JS 函数

我正在尝试从名为log4javascript.

我尝试了以下方法:

但它不起作用,log.warn('test')例如,当我打电话时,它失败了Uncaught TypeError: object is not a function. 但如果我删除那部分代码,它就可以正常工作。

我做错了什么?

0 投票
1 回答
76 浏览

javascript - log4javascript IE8 意外错误“功能参加”/“预期功能”

我正在尝试将控制台调用重定向到 log4javascript 库。

所以基本上,任何调用console.log都会调用log.infolog是一个 Log4javascript 实例。

但是当它调用时,log.info我得到一个“Fonction Attendue”错误(法语),这基本上意味着“预期的功能”。

我也尝试log.info从 IE8 控制台调用,同样的故事。

我认为它与脚本无关,但如果有,这里是:

我以为 Log4Javascript 支持 IE8,那么这里有什么问题?谢谢。

0 投票
3 回答
1329 浏览

javascript - Log4js:日志依赖于 NODE_ENV

如何根据设置的 NODE_ENV 创建日志(INFO、ERROR)?

我的意思是,例如,如果 NODE_ENV=development,我只写 ERROR 日志。使用 NODE_ENV=production,必须只有 INFO。

我应该如何修改附加程序来执行此操作?

谢谢你的帮助。

0 投票
1 回答
133 浏览

scala - 如何在 ScalaJS 项目中解析 log4javascript JS 库

我有 ScalaJS 多项目,我尝试在其中包含和使用来自 org.webjars 的 log4javascript。

build.sbt 的客户端部分在这里:

当我运行 sbt 包时,我收到以下错误消息:

Webjars 说 log4javascript 包含以下文件:

如何更改 build.sbt 以便 sbt 找到正确的 log4javascript.js?

0 投票
1 回答
522 浏览

javascript - 用于单元测试和运行基于浏览器的 Web 应用程序的 Javascript 日志记录设置

我正在仅在客户端处理 javascript Web 应用程序。我在本地服务器上运行时使用 log4javascript 记录应用程序功能,因为在单元测试期间我无法让 log4javascript 工作(在 Jasmine+Karma 或 Mocha 中),我在 Node 上运行单元测试时使用 log4js 进行记录摩卡。

要在正常的 webb 应用程序运行期间进行日志记录,我使用以下方法从 html 页面创建 log4javascript 记录器(因为我无法弄清楚从 javascript.js 文件创建 glogal 记录器的任何方法):

因为我想在单元测试期间登录到控制台,所以我需要在运行正常 Web 应用程序期间登录的相同 javascript.js 文件中设置 log4js。IE:

然后从内部函数我可以使用:

这在从 log4javascript 和 log4js 记录时会起作用,但这很混乱,因为我在每个 javascript 文件中都有 require('log4js') 语句(在浏览器上运行时似乎被忽略),并且记录器有两种含义。在开发基于浏览器的 javascript 期间是否有更好的方法来使用日志记录?

0 投票
1 回答
15019 浏览

javascript - 如何angularjs将日志写入文件?

我有个问题?在 Angularjs 项目中,我可以使用什么日志来写入文件?Angular 或 log4javascript 的 $log。我有 Angularjs 的 $log 的代码配置:

它正在工作,但它只写入控制台,现在我想要日志输出到文件?

0 投票
0 回答
1187 浏览

javascript - Chrome/Safari:如何从不同的选项卡或窗口打开同一个窗口

在 Web 应用程序中,我有一个可选的弹出窗口,其中正在加载日志记录内容。该窗口通过 Javascript 使用window.open().

用户通常打开应用程序的多个选项卡,我的意图是始终重用相同的弹出窗口(如果当前打开),无论他们从哪个选项卡触发弹出窗口。为此,我使用与此类似的代码来打开弹出窗口:

这在 Firefox 和 IE 中运行良好 - 仅打开一个弹出窗口,并且我要记录的所有内容都被加载到该窗口中。


然而,Chrome 和 Safari 使用不同的弹出窗口,具体取决于启动弹出窗口的选项卡。

我假设 的第二个参数window.open()指定来自全局命名空间的目标名称,这似乎是大多数浏览器的情况。但是 Chrome 和 Safari 的行为就好像这些目标名称有特定于选项卡的命名空间,即选项卡 1 引用的“my_popup”指的是与选项卡 2 中的“my_popup”不同的目标。(为了使事情更复杂,选项卡已经“重复”似乎共享相同的命名空间,即它们确实重复使用相同的弹出窗口,但以其他方式创建的选项卡不会。)

有没有办法绕过 Chrome 和 Safari 的这种行为,并从用户可能打开的所有选项卡访问相同的弹出窗口?

还是我必须假设这是特定于浏览器的行为,似乎没有解决方法?


我已经用各种浏览器对此进行了测试:

IE 11.0.9600.18204
具有来自同一域的内容的所有选项卡打开/重新加载单个共享弹出窗口(即目标命名空间似乎是每个域的本地名称)。
包含来自 URL 的内容的所有选项卡重复使用与包含来自指向本地 Intranet 的 URLfile://的内容的选项卡相同的弹出窗口。http://

Firefox 46.0.1
具有来自同一域的内容的所有选项卡打开/重新加载单个共享弹出窗口(即目标命名空间似乎是每个域的本地名称)。
所有带有来自file://URL 的内容的选项卡都使用它们自己的单个共享弹出窗口(即file://URL 似乎有它们自己的目标命名空间)。

Edge 20.10240.16384.0
行为不一致:在我的大多数测试中,Edge 的行为都像 Firefox,但偶尔也像 Chrome。
我暂时忽略Edge没有问题。

Chrome 50.0.2661.94
每个选项卡都会打开或重新加载自己的弹出窗口(即目标命名空间似乎是每个选项卡的本地名称)

Safari 9.1
每个选项卡都会打开或重新加载自己的弹出窗口(即目标命名空间似乎是每个选项卡的本地名称)

顺便说一句,在所有这些浏览器中,行为并不取决于弹出窗口是否由于用户交互而启动:在弹出窗口通过 启动的情况body onload()和通过 加载弹出窗口的情况之间的行为是相同的button onclick()


[这里是我认为与问题无关的附加背景信息,但谁知道... ;-)
实际上,我们的应用程序不直接打开弹出窗口,而是使用 log4javascript 打开日志窗口(或在 Chrome 的情况下:多个日志记录窗口)。我愿意扩展 log4javascript 代码来处理这个问题并向维护者发送一个补丁,但是为了做到这一点,我需要解决上面描述的基本问题]

0 投票
1 回答
289 浏览

typescript - 绝对类型的 log4javascript 缺少模块声明

我很难在我的项目中使用以下类型文件:

https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/log4javascript

显然,该文件缺少模块声明,导致打字稿抱怨当我在打字稿文件中放入以下语句时找不到模块“log4javascript”:

import * as log4javascript from 'log4javascript';

当我手动编辑通过运行命令安装的 index.d.ts 文件时

typings install dt~log4javascript --global --save

我添加了这个模块声明:

declare module "log4javascript" { import test = log4javascript; export = test; }

在文件的末尾,编译器不再抱怨,我的代码甚至可以在不使用该import *语句的情况下工作。

那么我应该如何使用打字文件,以便我可以将 log4javascript 与打字稿一起使用?

更新

我已经设法通过创建一个文件来解决这个问题,该custom.d.ts文件在生成的根 index.d.ts 旁边声明 log4javascript 模块,并///<reference path="..." />在我的 main.ts 文件中添加了一个由 requirejs 使用的语句。
我仍然不觉得这是正确的方法,但它现在有效。

0 投票
1 回答
431 浏览

javascript - 配置AjaxAppender Request Log4Javascript的数据

我对 Log4Javascript 和一般日志记录非常陌生,所以请耐心等待。

我正在尝试将日志发布到 CouchDB。我收到来自服务器的错误:

好的酷。所以它不是 JSON 对象,我可以解决这个问题。

除了我不知道怎么做。

我正在使用的代码是:

我搜索过的所有地方都说这是将其作为 JSON 对象发送的方式,所以我想这是正确的。

当我查看请求负载时,我意识到 CouchDB 服务器一定不喜欢它的格式化方式,就像这样:

如您所见,它是一个数组中的 JSON 对象,我相信这就是我的问题所在。

所以我的问题是:

  • 我在设置AjaxAppender和时错过了什么JsonLayout吗?
  • 有没有办法使用 log4javascript 更改请求有效负载的格式?
  • 如果没有,CouchDB 中是否有一种方法可以在发布文档时拦截并更改请求有效负载并继续,因此它会删除数组(我假设它不喜欢)?

谢谢。