[note] debug 筆記
debug @ npm
安裝
$ npm install debug
使用
// index.js
const debug = require('debug')('foo');
debug('hello');
輸出所有 Debug 項目:
DEBUG=* node index.js # 輸出所有項目的 debug
只輸出特定類型的 Debug 項目:
DEBUG=worker:* node index.js # 輸出所有以 worker: 開頭的 debug
DEBUG=foo node index.js # 只輸入特性項目的 debug
若該 debug 是屬於 foo
的話,則會顯示出來。
動態啟動 debug
let debug = require('debug');
console.log(1, debug.enabled('test'));
debug.enable('test');
console.log(2, debug.enabled('test'));
debug.disable();
console.log(3, debug.enabled('test'));
⚠️ 一旦使用了
enable()
則會完全覆蓋掉原本對於 DEBUG 變數的設定。
在 Express 中使用
透過 dotenv
和 debug
這兩個套件可以輸出有顏色較容易辨識 debug 訊息:
$ npm install dotenv debug
在根目錄新增 .env
,根據需要設定 DEBUG
變數:
# .env
DEBUG=* # 輸出所有訊息
在 app.js
中載入 dotenv:
// app.js
require('dotenv').config();
若有需要輸出 SQL 的訊息,可以在 new Sequelize
的地方透過 logging
參數帶入:
// ./models/index.js
const debug = require('debug')('SQL');
new Sequelize(config.database, config.username, config.password, {
/* other configs */
logging: (msg) => debug(msg),
});