console.log
テスト目的で、JavaScript コード内のすべてのステートメントをオフにする方法はありますか?
ベストアンサー1
スクリプト内の console.log 関数を再定義します。
console.log = function() {}
これで完了です。コンソールにメッセージは表示されなくなりました。
編集:
Cide のアイデアを拡張します。コードからログ記録のオン/オフを切り替えるために使用できるカスタム ロガーです。
Firefox コンソールから:
var logger = function()
{
var oldConsoleLog = null;
var pub = {};
pub.enableLogger = function enableLogger()
{
if(oldConsoleLog == null)
return;
window['console']['log'] = oldConsoleLog;
};
pub.disableLogger = function disableLogger()
{
oldConsoleLog = console.log;
window['console']['log'] = function() {};
};
return pub;
}();
$(document).ready(
function()
{
console.log('hello');
logger.disableLogger();
console.log('hi', 'hiya');
console.log('this wont show up in console');
logger.enableLogger();
console.log('This will show up!');
}
);
上記の「ロガー」はどのように使用するのでしょうか? ready イベントで、コンソール メッセージがログに記録されないように logger.disableLogger を呼び出します。コンソールにメッセージを記録するメソッド内に、logger.enableLogger と logger.disableLogger の呼び出しを追加します。