[英]console.log not working on any karma project
更新:tl;博士; 我更新了我的 npm 包,在 karma 中再也看不到任何console.log
輸出。 看起來它是行為更改的 b/c,僅在LOG_DEBUG
級別顯示console.log
輸出並將其隱藏在LOG_INFO
。 該更改是何時進行的,有沒有辦法恢復它?
原文:當我從 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
這是配置代碼
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" }
]
注意:我在 karma github 上看到過這個問題,那里的建議都沒有幫助。 此外,它描述了一個帶有 mocha 的設置,我正在使用 jasmine - 官方解決方法是使用我嘗試過的captureConsole
。
我還為這個問題創建了一個要點。
環境信息:
看起來 karma 在 v1.5.0 中添加了一個功能來按日志級別過濾控制台捕獲。 這是git pull 請求的鏈接, 代碼更改顯示發生了什么。 我在文檔中找不到有關此新功能的任何更新。 基於代碼更改,這里是新規則
您可以在 karma conf 文件中配置browserConsoleLogOptions
以指定應在終端輸出中顯示哪些消息。 設置level
屬性以指定應顯示的最大級別。 要顯示所有消息,請將level
設置為空字符串。
對於我的情況,我需要這樣設置:
browserConsoleLogOptions: {
terminal: true,
level: ""
}
更新:有一個open git issue討論這個。 實際上,業力 1.5 中有兩個變化在這里很重要。
LOG
== DEBUG
。 嚴重性使用LOG
> INFO
。 這意味着任何將日志級別設置為INFO
的項目都會在舊版本中顯示console.log
消息,而不會在新系統中顯示它們。browserConsoleLogOptions
添加了按日志級別過濾控制台的支持。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.