google-closureライブラリには、ほとんどの開発者に馴染みのあるロギングシステムも含まれています。これはいいね。console.log
残念ながら、一部のブラウザ/プラグインで利用できるように使用した場合のように、得られる出力は表現力に欠けます。
たとえばconsole.log(window)
、Chromeで作成した場合、コンソールにはインタラクティブに検査できるオブジェクトが表示されます。google-closure loggerを使用する場合、それは行われません。内部的には、オブジェクトの文字列表現をに渡すだけだと思いますconsole.log
。だからあなたは多くの便利さを失います。
このため、私はまだ使用し続けていますconsole.log
。しかし、運が悪ければ、本番コードからコードを削除するのを忘れると、コードがないブラウザーconsole.log
(例:IE)でコードが壊れてしまいます。
または、最初に存在を確認することで、これを防ぐことができます。次に例を示します。
window.console && window.console.log && console.log(...)
また:
if (DEBUG) {
console.log(...)
}
しかし、どちらのソリューションも完璧にはほど遠いです。また、ライブラリにロギングフレームワークがあることを考えると、それを使用できると便利です。今のところ、私はconsole.log
時々もっと便利だと思います。
だから私の質問(tl / dr):文字列表現を使用する代わりconsole.log(x)
に書くときにgoogle-closureユーザーを作ることはできますか?myLogger.info(x)
x