console.log不适用于任何业力项目

jus*_*mer 10 karma-runner karma-jasmine

更新:tl; dr; 我更新了我的npm软件包,console.log在karma 中看不到任何输出.看起来它是行为改变的b/c,只显示console.logLOG_DEBUG级别的输出并隐藏它LOG_INFO.什么时候做出改变,有没有办法恢复它?

ORIGINAL:当我从Windows命令提示符运行karma时,我看不到输出console.log.我曾经在许多项目中看到它很好,但现在它突然不适用于我的任何项目.在我npm update参与一个项目之后,这似乎已经改变了.我没有npm update任何其他项目,但他们都停止了工作.

我创建了一个带有干净项目的MCVE,我仍然看到了相同的行为.这是我的清洁项目中已安装软件包的列表(输出自npm list)

C:\...\mvce>npm list
mvce@1.0.0 C:\...\mvce
+-- jasmine-core@2.5.2
+-- karma@1.5.0
+-- karma-chrome-launcher@2.0.0
+-- karma-jasmine@1.1.0
+-- karma-phantomjs-launcher@1.0.2
`-- phantomjs@2.1.7
Run Code Online (Sandbox Code Playgroud)

这是配置代码

karma.conf.js

module.exports = function(config) {
    config.set({
        autoWatch: false,
        singleRun: true,
        basePath: ".",
        frameworks: ["jasmine"],
        logLevel: "INFO",
        browsers: ["PhantomJS", "Chrome"],
        files: ["test.js"]
    });
};



test.js

describe("describe", function(){
    it("it", function(){
        console.log("test");
    });
}); 
Run Code Online (Sandbox Code Playgroud)

注意我已经尝试将这两个添加到我的karma.conf.js.他们没有任何区别.

        client: {
            captureConsole: true
        }

        // or

        loggers: [
            { type: "console" }
        ]
Run Code Online (Sandbox Code Playgroud)

注意:我在karma github上看过这个问题,没有任何建议有帮助.此外,它正在描述一个带有mocha的设置,我正在使用茉莉花 - 官方解决方法是使用captureConsole我尝试过的.

我还为这个问题创建了一个要点.

环境信息:

  • Windows 10 Home具有所有当前更新
  • 节点v7.2.1
  • Chrome 56

jus*_*mer 31

看起来karma在v1.5.0中添加了一个功能来按日志级别过滤控制台捕获.下面是该链接的git拉请求代码的变化显示发生了什么事.我在这个新功能的文档中找不到任何更新.根据代码更改,以下是新规则

您可以browserConsoleLogOptions在karma conf文件中配置以指定终端输出上应显示的消息.设置level属性以指定应显示的最大级别.要显示所有消息,请设置level为空字符串.

对于我的情况,我需要像这样设置:

browserConsoleLogOptions: {
    terminal: true,
    level: ""
}
Run Code Online (Sandbox Code Playgroud)

更新:有一个开放的git问题讨论这个问题.实际上,业力1.5中有两个变化.

  1. 他们更改了日志消息的严重性顺序,以便LOG== DEBUG.使用的严重程度LOG> INFO.这意味着任何项目都将日志级别设置为在旧版本中INFO显示console.log消息,而不是在新系统中显示它们.
  2. 如上所述,他们通过日志级别添加了对过滤器控制台的支持browserConsoleLogOptions.

  • 唷.谢谢你!未来的读者请注意,这个设置出现在配置的顶层,作为`client`键的对等,而不是在其中,正如这里的大部分讨论暗示的那样(https://github.com/karma-runner/卡玛 - 摩卡/问题/ 47) (3认同)