模組console
控制台存取對象
console 模組是一個核心模組,它提供了類似於瀏覽器中console 物件的功能,可以將資訊輸出到控制台,方便偵錯和輸出資訊。
console 模組中最常用的方法是log(),該方法可以將任何JavaScript 值列印到控制台,並自動新增換行符。除了log() 方法外,還有info()、warn()、error() 方法,分別用於輸出資訊、警告和錯誤,它們的功能和log() 方法基本上相同,只是在控制台中顯示的樣式不同。
console 模組還提供了dir() 方法,用於將一個物件的屬性和方法以可讀性更強的形式輸出到控制台,方便調試複雜的物件。另外,還有time() 和timeEnd() 方法,用於在控制台中計時程式碼執行的時間,並輸出時間差。
除了以上常用的方法,console 模組還提供了一些其他的方法,如assert()、notic()、trace() 等,可以在不同的情況下方便地進行調試和資訊輸出。
console 模組是一個非常實用的模組,可以在開發過程中提高調試效率,方便快速地輸出各種資訊。
靜態函數
add
新增console 輸出系統,支援的設備為console, syslog, event,最多可以新增10 個輸出
1static console.add(String type);
呼叫參數:
- type: String, 輸出設備
透過配置console,可以將程式輸出和系統錯誤發送到不同設備,用於運行環境資訊收集。
type 為配置,為設備名稱字串:
1console.add("console");
syslog 僅在posix 平台有效:
1console.add("syslog");
event 僅在windows 平台有效:
1console.add("event");
新增console 輸出系統,支援的設備為console, syslog, event 和file,最多可以新增10 個輸出
1static console.add(Object cfg);
呼叫參數:
- cfg: Object, 輸出配置
透過配置console,可以將程式輸出和系統錯誤發送到不同設備,用於運行環境資訊收集。
cfg 可以為一個設備配置物件:
1
2
3
4console.add({
type: "console",
levels: [console.INFO, console.ERROR] // optional, default is all levels
});
syslog 僅在posix 平台有效:
1
2
3
4console.add({
type: "syslog",
levels: [console.INFO, console.ERROR]
});
event 僅在windows 平台有效:
1
2
3
4console.add({
type: "event",
levels: [console.INFO, console.ERROR]
});
file 日誌:
1
2
3
4
5
6
7console.add({
type: "file",
levels: [console.INFO, console.ERROR],
path: "path/to/file_%s.log", // specifies the log output file, can use %s to specify the insertion date location, or add at the end if not specified
split: "30m", // Optional values are "day", "hour", "minute", "####k", "####m", "####g", default is "1m"
count: 10 // option, selectable from 2 to 128, default is 128
});
批次新增console 輸出系統,支援的裝置為console, syslog, event 和file,最多可以新增10 個輸出
1static console.add(Array cfg);
呼叫參數:
- cfg: Array, 輸出配置數組
透過配置console,可以將程式輸出和系統錯誤發送到不同設備,用於運行環境資訊收集。
1
2
3
4console.add(["console", {
type: "syslog",
levels: [console.INFO, console.ERROR]
}]);
reset
初始化到缺省設置,只在console 輸出訊息
1static console.reset();
log
記錄普通日誌訊息,與info 等同
1
2static console.log(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
記錄一般等級的日誌資訊。通常用於輸出非錯誤性提示訊息。
記錄普通日誌訊息,與info 等同
1static console.log(...args);
呼叫參數:
- args: ..., 可選參數列表
記錄一般等級的日誌資訊。通常用於輸出非錯誤性提示訊息。
debug
記錄調試日誌訊息
1
2static console.debug(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
記錄調試日誌資訊。通常用於輸出調試資訊。不重要。
記錄調試日誌訊息
1static console.debug(...args);
呼叫參數:
- args: ..., 可選參數列表
記錄調試日誌資訊。通常用於輸出調試資訊。不重要。
info
記錄普通日誌訊息,與log 等同
1
2static console.info(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
記錄一般等級的日誌資訊。通常用於輸出非錯誤性提示訊息。
記錄普通日誌訊息,與log 等同
1static console.info(...args);
呼叫參數:
- args: ..., 可選參數列表
記錄一般等級的日誌資訊。通常用於輸出非錯誤性提示訊息。
notice
記錄警告日誌訊息
1
2static console.notice(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
記錄警告日誌資訊。通常用於輸出提示性偵錯資訊。一般重要。
記錄警告日誌訊息
1static console.notice(...args);
呼叫參數:
- args: ..., 可選參數列表
記錄警告日誌資訊。通常用於輸出提示性偵錯資訊。一般重要。
warn
記錄警告日誌訊息
1
2static console.warn(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
記錄警告日誌資訊。通常用於輸出警告性調試資訊。重要。
記錄警告日誌訊息
1static console.warn(...args);
呼叫參數:
- args: ..., 可選參數列表
記錄警告日誌資訊。通常用於輸出警告性調試資訊。重要。
error
記錄錯誤日誌訊息
1
2static console.error(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
記錄用於錯誤日誌訊息。通常用於輸出錯誤訊息。非常重要。系統的出錯資訊也會以此等級記錄。
記錄錯誤日誌訊息
1static console.error(...args);
呼叫參數:
- args: ..., 可選參數列表
記錄用於錯誤日誌訊息。通常用於輸出錯誤訊息。非常重要。系統的出錯資訊也會以此等級記錄。
crit
記錄關鍵錯誤日誌訊息
1
2static console.crit(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
記錄用於關鍵錯誤日誌資訊。通常用於輸出關鍵錯誤訊息。非常重要。
記錄關鍵錯誤日誌訊息
1static console.crit(...args);
呼叫參數:
- args: ..., 可選參數列表
記錄用於關鍵錯誤日誌資訊。通常用於輸出關鍵錯誤訊息。非常重要。
alert
記錄警報錯誤日誌訊息
1
2static console.alert(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
記錄用於警報錯誤日誌訊息。通常用於輸出警報錯誤訊息。非常重要。為最高級別資訊。
記錄警報錯誤日誌訊息
1static console.alert(...args);
呼叫參數:
- args: ..., 可選參數列表
記錄用於警報錯誤日誌訊息。通常用於輸出警報錯誤訊息。非常重要。為最高級別資訊。
trace
輸出當前呼叫堆疊
1
2static console.trace(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
透過日誌輸出當前呼叫堆疊。
輸出當前呼叫堆疊
1static console.trace(...args);
呼叫參數:
- args: ..., 可選參數列表
透過日誌輸出當前呼叫堆疊。
dir
用JSON 格式輸出對象
1
2static console.dir(Value obj,
Object options = {});
呼叫參數:
- obj: Value, 指定需要處理的對象
- options: Object, 指定格式控制選項
支援以下參數:
1
2
3
4
5
6
7
8
9{
"colors": false, // specify if output should be colorized, defaults to false
"depth": 2, // specify the max depth of the output, defaults to 2
"table": false, // specify if output should be a table, defaults to false
"encode_string": true, // specify if string should be encoded, defaults to true
"maxArrayLength": 100, // specify max number of array elements to show, set to 0 or negative to show no elements, defaults to 100
"maxStringLength": 10000, // specify max string length to output, set to 0 or negative to show no strings, defaults to 10000
"fields": [], // specify the fields to be displayed, defaults to all
}
table
用JSON 格式輸出對象
1static console.table(Value obj);
呼叫參數:
- obj: Value, 給定要顯示的對象
用JSON 格式輸出對象
1
2static console.table(Value obj,
Array fields);
呼叫參數:
- obj: Value, 給定要顯示的對象
- fields: Array, 給定要顯示的字段
time
啟動一個計時器
1static console.time(String label = "time");
呼叫參數:
- label: String, 標題,預設為空字串。
timeElapse
輸出指定計時器目前計時值
1static console.timeElapse(String label = "time");
呼叫參數:
- label: String, 標題,預設為空字串。
timeEnd
結束指定計時器,並輸出最後計時值
1static console.timeEnd(String label = "time");
呼叫參數:
- label: String, 標題,預設為空字串。
assert
斷言測試,如果測試值為假,則報錯
1
2static console.assert(Value value,
String msg = "");
呼叫參數:
- value: Value, 測試的數值
- msg: String, 報錯訊息
向控制台輸出格式化文本,輸出內容不會記入日誌系統,輸出文字後不會自動換行,可連續輸出
1
2static console.print(String fmt,
...args);
呼叫參數:
- fmt: String, 格式化字串
- args: ..., 可選參數列表
向控制台輸出格式化文本,輸出內容不會記入日誌系統,輸出文字後不會自動換行,可連續輸出
1static console.print(...args);
呼叫參數:
- args: ..., 可選參數列表
moveTo
移動控制台遊標到指定位置
1
2static console.moveTo(Integer row,
Integer column);
呼叫參數:
- row: Integer, 指定新遊標的行座標
- column: Integer, 指定新遊標的列座標
hideCursor
隱藏控制台遊標
1static console.hideCursor();
showCursor
顯示控制台遊標
1static console.showCursor();
clear
清除控制台
1static console.clear();
readLine
從控制台讀取使用者輸入
1static String console.readLine(String msg = "") async;
呼叫參數:
- msg: String, 提示訊息
回傳結果:
- String, 傳回使用者輸入的訊息
getpass
從控制台讀取使用者輸入的密碼
1static String console.getpass(String msg = "") async;
呼叫參數:
- msg: String, 提示訊息
回傳結果:
- String, 返回用戶輸入的密碼
靜態屬性
loglevel
Integer, 輸出級別,用於濾波輸出訊息,預設為NOTSET,全部輸出。訊息過濾之後才會輸出給add 設定的各個設備。
1static Integer console.loglevel;
width
Integer, 查詢終端每行字元數
1static readonly Integer console.width;
height
Integer, 查詢終端行數
1static readonly Integer console.height;
常量
FATAL
loglevel 等級常數
1const console.FATAL = 0;
ALERT
loglevel 等級常數
1const console.ALERT = 1;
CRIT
loglevel 等級常數
1const console.CRIT = 2;
ERROR
loglevel 等級常數
1const console.ERROR = 3;
WARN
loglevel 等級常數
1const console.WARN = 4;
NOTICE
loglevel 等級常數
1const console.NOTICE = 5;
INFO
loglevel 等級常數
1const console.INFO = 6;
DEBUG
loglevel 等級常數
1const console.DEBUG = 7;
loglevel 僅用於輸出,訊息輸出後不換行,file 和syslog 不保存此等級資訊
1const console.PRINT = 9;
NOTSET
loglevel 等級常數
1const console.NOTSET = 10;