更新:tl; dr; npmパッケージを更新しましたが、console.log
の出力がカルマで表示されなくなりました。 console.log
レベルでのみLOG_DEBUG
出力を表示し、LOG_INFO
で非表示にする動作変更のb/cのようです。その変更はいつ行われ、元に戻す方法はありますか?
オリジナル:Windowsコマンドプロンプトからkarmaを実行すると、console.log
の出力が表示されません。以前は多くのプロジェクトで問題なく表示されていましたが、現在はどのプロジェクトでも突然機能しなくなっています。これは、1つのプロジェクトでnpm update
を実行した後に変更されたようです。他のプロジェクトはnpm update
しませんでしたが、すべてが機能しなくなりました。
クリーンなプロジェクトでMCVEを作成しましたが、それでも同じ動作が見られます。これが私のクリーンなプロジェクトにインストールされたパッケージのリストです(npm list
からの出力)
C:\...\mvce>npm list
[email protected] C:\...\mvce
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
+-- [email protected]
`-- [email protected]
そしてこれが設定コードです
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で見ましたが、そこにある提案は役に立ちません。また、それはモカ付きのセットアップを説明しています。私はジャスミンを使用しています-公式の回避策は、私が試したcaptureConsole
を使用することです。
この問題のために Gist も作成しました。
環境情報:
Karmaがv1.5.0でコンソールレベルのキャプチャをログレベルでフィルタリングする機能を追加したようです。 git pull request と code changes へのリンクを示します。この新機能に関するドキュメントの更新は見つかりませんでした。コードの変更に基づいて、ここに新しいルールがあります
Karma confファイルでbrowserConsoleLogOptions
を構成して、端末出力に表示するメッセージを指定できます。 level
プロパティを設定して、表示する必要がある最大レベルを指定します。すべてのメッセージを表示するには、level
を空の文字列に設定します。
私の場合は、次のように設定する必要があります。
browserConsoleLogOptions: {
terminal: true,
level: ""
}
更新: オープンgitの問題 について議論しています。ここで重要なカルマ1.5には実際には2つの変更があります。
LOG
== DEBUG
となるように、ログメッセージの重大度の順序を変更しました。使用された重大度はLOG
> INFO
です。つまり、すべてのプロジェクトでログレベルがINFO
に設定されている場合、console.log
古いバージョンのメッセージであり、新しいシステムでは表示されません。browserConsoleLogOptions
でログレベルでコンソールをフィルタリングするサポートを追加しました。