コンソール.ログ( x ) :ウェイアウト


ロギングは重要な技術開発者が言語に関係なくコードの問題とバグをトレースする必要があります.ログは、フラットファイル(テキスト)、データベーステーブル、IDE/Webブラウザのコンソールと多くに書き込まれることができます.
Web開発者は常にコンソールを掃除を忘れる方法を見つけるでしょう.JavaScriptコードで使用するlog ( x )です.私にとって、これは不愉快なにおいがします:パブリックの目にデバッグデータを残すことは専門家のためにきれいではありません.
2年前私はJavaScriptコードのすべての部分からログを削除することを無視するテクニックを思いつきました.同じ言語を実装することもできます.これは、カスタムログクラスとメソッドを作成することによって行われます.コンソールを呼び出す代わりに.ログ(x)、ロガーを行うことができます.log ( x )Loggerクラスには、' isCount Active = True 'という名前のブール変数があります.生産環境では、この値はISHUNE Active = FALSEに設定され、すべてのログ行はコンソールに印刷されていないからバイパスされます.
View code on Github Repository
スニペットを以下に示します.オーバーロードは無視することができます.
ロガー.js
let is_active = true;

const logtype = {
    "default": 1,
    "info": 2,
    "warning": 3,
    "error": 4,
    "exception": 5,
    "debug": 6,
    "table": 7
};

function log(data, type = logtype.default) {
    if (!is_active) return;

    try {
        switch (type) {
            case logtype.default:
                return console.log(data);
            case logtype.info:
                return console.info(data);
            case logtype.warning:
                return console.warn(data);
            case logtype.error:
                return console.error(data);
            case logtype.exception:
                return console.exception(data);
            case logtype.debug:
                return console.debug(data);
            case logtype.table:
                return console.table(data);
        }
    } catch (ex) {
        console.log(data);
    }
}

function info(data) {
    if (is_active) console.info(data);
}

function warning(data) {
    if (is_active) console.warn(data);
}

function error(data) {
    if (is_active) console.error(data);
}

function exception(data) {
    if (is_active) console.exception(data);
}

function debug(data) {
    if (is_active) console.debug(data);
}

function table(data) {
    if (is_active) console.table(data);
}
実装
<script>
    window.onload = function () {
    log('hello world..');
    log('I have an information', logtype.info);
    log('But i must warn you', logtype.warn);
    log('About the errors you have made', logtype.error);
    log('Well, exceptions are not the end of the world', logtype.exception);
    log('And that calls for more debugging', logtype.debug);

var array = [
    {
        name: 'James',
        age: 21,
        location: 'Nigeria',
        role: 'Backend'
    }, {
        name: 'Mike',
        age: 19,
        location: 'Los Angeles',
        role: 'Frontend'
    }, {
        name: 'Parker',
        age: 26,
        location: 'London',
        role: 'Tester'
    }];

log(array, logtype.table);

</script>
Webブラウザコンソールの結果は以下にあります.

変数' isCount active = false 'を変更し、すべてのログアクティビティーを停止します.
PS :コードからログをクリーンアップしてはいけません