“util”模塊提供用於調試目的的‘utility’函數。要訪問這些函數,我們需要調用它們(通過“ require(‘util’)”)。
util.debuglog()(在v0.11.3中添加)方法是util模塊的內置應用程序編程接口,用於創建基於NODE_DEBUG環境變量的函數,該函數有條件地將調試消息寫入stderr。如果節名稱出現在該環境變量的值內,則返回的函數的操作方式與console.error()相同。如果不是,則返回的函數為no-op。
用法:
util.debuglog(section[, callback])
參數:該函數接受上述和以下所述的兩個參數:
- section <string>:它接受一個<string>,標識要為其創建調試日誌函數的應用程序部分。
- callback<Function>:它接受第一次使用函數參數(更優化的日誌記錄函數)調用日誌記錄函數時調用的回調。
返回值<Function>:返回記錄函數。
範例1: 文件名:index.js
Javascript
// Node.js program to demonstrate the
// util.debuglog() method
// Using require to access util module
const util = require('util');
const debugLog = util.debuglog('run-app');
// Use debuglog() method
debugLog('hello from my debugger [%d]', 123);
// SET NODE_DEBUG=run-app&&node util.js
// Another way to import debuglog
const { debuglog } = require('util');
const debuglogue = debuglog('run-app1');
// Use debuglog() method
debuglogue('hello from run-app [%d]', 123);
const a = "old Value";
let deebuglog = util.debuglog('run-app2',
(debuging) => {
// Replace with a logging function
// that optimizes out
a = "new Value";
// Testing if the section is enabled
deebuglog = debuging;
});
// prints the debuglog function
console.log(util.inspect(deebuglog,
showHidden = true, compact = true));
// Prints nothing
console.log(a);
// logs app *
deebuglog();
deebuglog('hi there, it\'s run-app [%d]', 2333);
使用以下命令運行index.js文件:
SET NODE_DEBUG=run-app*&&node index.js OR NODE_DEBUG=run-app* node index.js
輸出:
>> RUN-APP 8112:hello from my debugger [123]
>> RUN-APP1 8112:hello from run-app [123]
>> <ref *1> [Function (anonymous)] {…… [prototype]:{ [constructor]:[Circular *1] }
}
>> old Value
>> RUN-APP2 8112:
>> RUN-APP2 8112:hi there, it’s run-app [2333]
範例2: 文件名:index.js
Javascript
// Node.js program to demonstrate the
// util.debuglog() method
// Using require to access util module
const util = require('util');
// const {debuglog} = require('util');
const debuglog = util.debuglog('alfa-beta');
debuglog('Hii there, debuglog from alfa-beta [%d]', 2333);
const generalLog = util.debuglog('alfa-');
const timerLog = util.debuglog('alfa-romeo');
const delay = 800;
generalLog('Leaving alfa-...');
console.log("Wait for timerLog...")
setTimeout(() => {
timerLog('timer fired after %d ', delay);
}, delay);
使用以下命令運行index.js文件:
SET NODE_DEBUG=alfa-*&&node index.js OR NODE_DEBUG=alfa-* node index.js
輸出:
ALFA-BETA 7008:Hii there, debuglog from alfa-beta [2333]
ALFA- 7008:Leaving alfa-…
Wait for timerLog…
ALFA-ROMEO 7008:timer fired after 800
參考:https://nodejs.org/api/util.html#util_util_debuglog_section_callback
相關用法
- Node.js console.timeLog()用法及代碼示例
- Node.js fs.fsyncSync()用法及代碼示例
- Node.js process.nextTick()用法及代碼示例
- Node.js GM charcoal()用法及代碼示例
- Node.js GM blur()用法及代碼示例
- Node.js GM sharpen()用法及代碼示例
- Node.js GM drawLine()用法及代碼示例
- Node.js GM drawArc()用法及代碼示例
- Node.js GM drawPolyline()用法及代碼示例
- Node.js GM drawBezier()用法及代碼示例
- Node.js GM drawCircle()用法及代碼示例
注:本文由純淨天空篩選整理自vikas_g大神的英文原創作品 Node.js util.debuglog() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。