コード内のすべての console.log ステートメントをすばやく簡単に無効にするにはどうすればよいでしょうか? 質問する

コード内のすべての console.log ステートメントをすばやく簡単に無効にするにはどうすればよいでしょうか? 質問する

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 の呼び出しを追加します。

おすすめ記事