console.log を条件付きでラップするユーティリティ関数があるため、開発環境にいて、console.log が存在する場合にのみ console.log を呼び出します。
/* Console log if environment has debug true or #debug initially passed in URL */
metro.conlog = (function () {
return function (message) {
if ((metro.siteData.debug || metro.hashOptions.hasOwnProperty('debug')) && window.console && message) {
console.log(message);
}
};
}());
これは、通常のコンソール ログでは非常にうまく機能しています。しかし、私は最近、console.log に複数の引数を渡すことの利点を発見しました。これにより、コンソール ログの前に文字列をconsole.log('DEBUG', object)
付けることができるため、文字列に加えて、プロパティを検査できる展開可能なオブジェクトが出力されます。これを行うためにコンログ関数を変更するにはどうすればよいですか? 次のようにすべての引数をログアウトしようとしました:
metro.conlog = (function () {
return function (message) {
if ((metro.siteData.debug || metro.hashOptions.hasOwnProperty('debug')) && window.console && message) {
console.log(arguments);
}
};
}());
しかし、これはconsole.logで得られるきちんとした行ではなく、引数を配列として出力します。このスクリーンショットで違いを確認できます。
元のログ出力を再現する方法を誰か教えてもらえますか?