更新:tl; dr;我更新了我的npm软件包,并且在业力中无法再看到任何console.log
输出。看起来是行为更改的b / c仅在LOG_DEBUG
级别显示LOG_INFO
输出并将其隐藏在console.log
。什么时候做出改变,有没有办法将其还原?
ORIGINAL:当我从Windows命令提示符运行karma时,我看不到npm update
的输出。我曾经在许多项目中看到它很好,但现在它突然没有在我的任何项目中工作。在一个项目中运行npm update
之后,这似乎已经改变了。我没有npm list
任何其他项目,但他们都停止了工作。
我创建了一个带有干净项目的MCVE,但我仍然看到了相同的行为。这是我的清洁项目中已安装软件包的列表(从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
输出)
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");
});
});
这里是配置代码
karma.conf.js
注意我已经尝试将这两个添加到我的 client: {
captureConsole: true
}
// or
loggers: [
{ type: "console" }
]
。他们没有任何区别。
captureConsole
注意:我在karma github上看过this issue,没有任何建议有帮助。此外,它还描述了使用茉莉花的mocha设置,而官方的解决方法是使用我尝试过的<div align="center">
<div style="display: inline-block"> <img src="img1.png"> </div>
<div style="display: inline-block"> <img src="img2.png"> </div>
</div>
。
我还为此问题创建了gist。
环境信息:
答案 0 :(得分:30)
看起来karma在v1.5.0中添加了一个功能来按日志级别过滤控制台捕获。这是指向git pull request和code changes的链接,显示发生的情况。我无法在有关此新功能的文档中找到任何更新。根据代码更改,以下是新规则
您可以在karma conf文件中配置browserConsoleLogOptions
,以指定终端输出上应显示的消息。设置level
属性以指定应显示的最大级别。要显示所有消息,请将level
设置为空字符串。
对于我的情况,我需要这样设置:
browserConsoleLogOptions: {
terminal: true,
level: ""
}
更新:open git issue正在讨论这个问题。业力1.5中实际上有两个变化,这里很重要。
LOG
== DEBUG
。使用的严重性LOG
&gt; INFO
。这意味着任何项目的日志级别设置为INFO
都会在旧版本中显示console.log
条消息,而不会在新系统中显示这些消息。browserConsoleLogOptions
添加了对过滤器控制台的支持。