Module 基礎模塊

模塊console

控制台訪問對象

全局對象。可用於提示信息,警告和錯誤記錄。通過啟動配置文件,可將日誌定位到不同的設備,以便於跟踪。日誌支持格式化輸出,例如:

1
console.log("%d + %d = %d", 100, 200, 100 + 200);

可以使用的格式化參數如下:

  • %s - 字符串
  • %d - 數字,包括整數和數字
  • %j - 以JSON 格式輸出對象
  • %% - 輸出字符'%' 本身

靜態函數

add

添加console 輸出系統,支持的設備為console, syslog, event,最多可以添加10 個輸出

1
static console.add(String type);

調用參數:

  • type: String, 輸出設備

通過配置console,可以將程序輸出和系統錯誤發往不同設備,用於運行環境信息收集。

type 為配置,為設備名稱字符串:

1
console.add("console");

syslog 僅在posix 平台有效:

1
console.add("syslog");

event 僅在windows 平台有效:

1
console.add("event");

添加console 輸出系統,支持的設備為console, syslog, event 和file,最多可以添加10 個輸出

1
static console.add(Object cfg);

調用參數:

  • cfg: Object, 輸出配置

通過配置console,可以將程序輸出和系統錯誤發往不同設備,用於運行環境信息收集。

cfg 可以為一個設備配置對象:

1 2 3 4
console.add({ type: "console", levels: [console.INFO, console.ERROR] // 选项,省略则输出全部级别日志 });

syslog 僅在posix 平台有效:

1 2 3 4
console.add({ type: "syslog", levels: [console.INFO, console.ERROR] });

event 僅在windows 平台有效:

1 2 3 4
console.add({ type: "event", levels: [console.INFO, console.ERROR] });

file 日誌:

1 2 3 4 5 6 7 8 9 10
console.add({ type: "file", levels: [console.INFO, console.ERROR], // 必选项,指定日志输出文件,可使用 s% 指定插入日期位置,不指定则添加在结尾 path: "path/to/file_%s.log", // 选项,可选值为 "day", "hour", "minute", "###k", "###m", "###g",缺省为 "1m" split: "30m", // 选项,可选范围为 2-128,缺省为 128 count: 10 });

批量添加console 輸出系統,支持的設備為console, syslog, event 和file,最多可以添加10 個輸出

1
static console.add(Array cfg);

調用參數:

  • cfg: Array, 輸出配置數組

通過配置console,可以將程序輸出和系統錯誤發往不同設備,用於運行環境信息收集。

1 2 3 4
console.add(["console", { type: "syslog", levels: [console.INFO, console.ERROR] }]);

reset

初始化到缺省設置,只在console 輸出信息

1
static console.reset();

log

記錄普通日誌信息,與info 等同

1 2
static console.log(String fmt, ...args);

調用參數:

  • fmt: String, 格式化字符串
  • args: ..., 可選參數列表

記錄一般等級的日誌信息。通常用於輸出非錯誤性提示信息。


記錄普通日誌信息,與info 等同

1
static console.log(...args);

調用參數:

  • args: ..., 可選參數列表

記錄一般等級的日誌信息。通常用於輸出非錯誤性提示信息。


debug

記錄調試日誌信息

1 2
static console.debug(String fmt, ...args);

調用參數:

  • fmt: String, 格式化字符串
  • args: ..., 可選參數列表

記錄調試日誌信息。通常用於輸出調試信息。不重要。


記錄調試日誌信息

1
static console.debug(...args);

調用參數:

  • args: ..., 可選參數列表

記錄調試日誌信息。通常用於輸出調試信息。不重要。


info

記錄普通日誌信息,與log 等同

1 2
static console.info(String fmt, ...args);

調用參數:

  • fmt: String, 格式化字符串
  • args: ..., 可選參數列表

記錄一般等級的日誌信息。通常用於輸出非錯誤性提示信息。


記錄普通日誌信息,與log 等同

1
static console.info(...args);

調用參數:

  • args: ..., 可選參數列表

記錄一般等級的日誌信息。通常用於輸出非錯誤性提示信息。


notice

記錄警告日誌信息

1 2
static console.notice(String fmt, ...args);

調用參數:

  • fmt: String, 格式化字符串
  • args: ..., 可選參數列表

記錄警告日誌信息。通常用於輸出提示性調試信息。一般重要。


記錄警告日誌信息

1
static console.notice(...args);

調用參數:

  • args: ..., 可選參數列表

記錄警告日誌信息。通常用於輸出提示性調試信息。一般重要。


warn

記錄警告日誌信息

1 2
static console.warn(String fmt, ...args);

調用參數:

  • fmt: String, 格式化字符串
  • args: ..., 可選參數列表

記錄警告日誌信息。通常用於輸出警告性調試信息。重要。


記錄警告日誌信息

1
static console.warn(...args);

調用參數:

  • args: ..., 可選參數列表

記錄警告日誌信息。通常用於輸出警告性調試信息。重要。


error

記錄錯誤日誌信息

1 2
static console.error(String fmt, ...args);

調用參數:

  • fmt: String, 格式化字符串
  • args: ..., 可選參數列表

記錄用於錯誤日誌信息。通常用於輸出錯誤信息。非常重要。系統的出錯信息也會以此等級記錄。


記錄錯誤日誌信息

1
static console.error(...args);

調用參數:

  • args: ..., 可選參數列表

記錄用於錯誤日誌信息。通常用於輸出錯誤信息。非常重要。系統的出錯信息也會以此等級記錄。


crit

記錄關鍵錯誤日誌信息

1 2
static console.crit(String fmt, ...args);

調用參數:

  • fmt: String, 格式化字符串
  • args: ..., 可選參數列表

記錄用於關鍵錯誤日誌信息。通常用於輸出關鍵錯誤信息。非常重要。


記錄關鍵錯誤日誌信息

1
static console.crit(...args);

調用參數:

  • args: ..., 可選參數列表

記錄用於關鍵錯誤日誌信息。通常用於輸出關鍵錯誤信息。非常重要。


alert

記錄警報錯誤日誌信息

1 2
static console.alert(String fmt, ...args);

調用參數:

  • fmt: String, 格式化字符串
  • args: ..., 可選參數列表

記錄用於警報錯誤日誌信息。通常用於輸出警報錯誤信息。非常重要。為最高級別信息。


記錄警報錯誤日誌信息

1
static console.alert(...args);

調用參數:

  • args: ..., 可選參數列表

記錄用於警報錯誤日誌信息。通常用於輸出警報錯誤信息。非常重要。為最高級別信息。


dir

用JSON 格式輸出對象

1
static console.dir(Value obj);

調用參數:

  • obj: Value, 給定要顯示的對象

time

啟動一個計時器

1
static console.time(String label = "time");

調用參數:

  • label: String, 標題,缺省為空字符串。

timeElapse

輸出指定計時器當前計時值

1
static console.timeElapse(String label = "time");

調用參數:

  • label: String, 標題,缺省為空字符串。

timeEnd

結束指定計時器,並輸出最後計時值

1
static console.timeEnd(String label = "time");

調用參數:

  • label: String, 標題,缺省為空字符串。

trace

輸出當前調用堆棧

1
static console.trace(String label = "trace");

調用參數:

  • label: String, 標題,缺省為空字符串。

通過日誌輸出當前調用堆棧。


assert

斷言測試,如果測試值為假,則報錯

1 2
static console.assert(Value value, String msg = "");

調用參數:

  • value: Value, 測試的數值
  • msg: String, 報錯信息

print

向控制台輸出格式化文本,輸出內容不會記入日誌系統,輸出文本後不會自動換行,可連續輸出

1 2
static console.print(String fmt, ...args);

調用參數:

  • fmt: String, 格式化字符串
  • args: ..., 可選參數列表

向控制台輸出格式化文本,輸出內容不會記入日誌系統,輸出文本後不會自動換行,可連續輸出

1
static console.print(...args);

調用參數:

  • args: ..., 可選參數列表

moveTo

移動控制台光標到指定位置

1 2
static console.moveTo(Integer row, Integer column);

調用參數:

  • row: Integer, 指定新光標的行坐標
  • column: Integer, 指定新光標的列坐標

hideCursor

隱藏控制台光標

1
static console.hideCursor();

showCursor

顯示控制台光標

1
static console.showCursor();

clear

清除控制台

1
static console.clear();

keyDown

按下一個按鍵

1 2
static console.keyDown(String key, String modifier = "");

調用參數:

  • key: String, 指定按鍵,單字符直接傳入,功能鍵傳入名稱
  • modifier: String, 指定控制鍵,可以為:control, alt, shift, command

參數key 可以使用字符串傳入功能鍵:

  • 功能鍵:f1 - f12
  • 方向鍵:up, down,left, right, home, end, pageup, pagedown
  • 編輯鍵:backspace, delete, insert, enter, tab, escape, space
  • 控制鍵:control, alt, shift, command

按下一個按鍵

1 2
static console.keyDown(String key, Array modifier);

調用參數:

  • key: String, 指定按鍵,單字符直接傳入,功能鍵傳入名稱
  • modifier: Array, 指定控制鍵數組,可以為:control, alt, shift, command

參數key 可以使用字符串傳入功能鍵:

  • 功能鍵:f1 - f12
  • 方向鍵:up, down,left, right, home, end, pageup, pagedown
  • 編輯鍵:backspace, delete, insert, enter, tab, escape, space
  • 控制鍵:control, alt, shift, command

keyUp

鬆開一個按鍵

1 2
static console.keyUp(String key, String modifier = "");

調用參數:

  • key: String, 指定按鍵,單字符直接傳入,功能鍵傳入名稱
  • modifier: String, 指定控制鍵,可以為:control, alt, shift, command

參數key 可以使用字符串傳入功能鍵:

  • 功能鍵:f1 - f12
  • 方向鍵:up, down,left, right, home, end, pageup, pagedown
  • 編輯鍵:backspace, delete, insert, enter, tab, escape, space
  • 控制鍵:control, alt, shift, command

鬆開一個按鍵

1 2
static console.keyUp(String key, Array modifier);

調用參數:

  • key: String, 指定按鍵,單字符直接傳入,功能鍵傳入名稱
  • modifier: Array, 指定控制鍵數組,可以為:control, alt, shift, command

參數key 可以使用字符串傳入功能鍵:

  • 功能鍵:f1 - f12
  • 方向鍵:up, down,left, right, home, end, pageup, pagedown
  • 編輯鍵:backspace, delete, insert, enter, tab, escape, space
  • 控制鍵:control, alt, shift, command

keyTap

點擊並鬆開一個按鍵

1 2
static console.keyTap(String key, String modifier = "");

調用參數:

  • key: String, 指定按鍵,單字符直接傳入,功能鍵傳入名稱
  • modifier: String, 指定控制鍵,可以為:control, alt, shift, command

參數key 可以使用字符串傳入功能鍵:

  • 功能鍵:f1 - f12
  • 方向鍵:up, down,left, right, home, end, pageup, pagedown
  • 編輯鍵:backspace, delete, insert, enter, tab, escape, space
  • 控制鍵:control, alt, shift, command

點擊並鬆開一個按鍵

1 2
static console.keyTap(String key, Array modifier);

調用參數:

  • key: String, 指定按鍵,單字符直接傳入,功能鍵傳入名稱
  • modifier: Array, 指定控制鍵數組,可以為:control, alt, shift, command

參數key 可以使用字符串傳入功能鍵:

  • 功能鍵:f1 - f12
  • 方向鍵:up, down,left, right, home, end, pageup, pagedown
  • 編輯鍵:backspace, delete, insert, enter, tab, escape, space
  • 控制鍵:control, alt, shift, command

typeString

輸入一個字符串

1
static console.typeString(String text);

調用參數:

  • text: String, 指定輸入的字符串

moveMouse

移動鼠標到指定的位置

1 2
static console.moveMouse(Integer x, Integer y);

調用參數:

  • x: Integer, 指定x 坐標
  • y: Integer, 指定y 坐標

mouseUp

按下一個鼠標鍵

1
static console.mouseUp(String button);

調用參數:

  • button: String, 指定鼠標鍵名稱,允許值為: left, right, moddle

mouseDown

放開一個鼠標鍵

1
static console.mouseDown(String button);

調用參數:

  • button: String, 指定鼠標鍵名稱,允許值為: left, right, moddle

clickMouse

點擊一個鼠標鍵

1 2
static console.clickMouse(String button, Boolean dbclick = false);

調用參數:

  • button: String, 指定鼠標鍵名稱,允許值為: left, right, moddle
  • dbclick: Boolean, 指定是否雙擊,缺省為false

readLine

從控制台讀取用戶輸入

1
static String console.readLine(String msg = "") async;

調用參數:

  • msg: String, 提示信息

返回結果:

  • String, 返回用戶輸入的信息

getpass

從控制台讀取用戶輸入的密碼

1
static String console.getpass(String msg = "") async;

調用參數:

  • msg: String, 提示信息

返回結果:

  • String, 返回用戶輸入的密碼

靜態屬性

loglevel

Integer, 輸出級別,用以過濾輸出信息,缺省為NOTSET,全部輸出。信息過濾之後才會輸出給add 設定的各個設備。

1
static Integer console.loglevel;

width

Integer, 查詢終端每行字符數

1
static readonly Integer console.width;

height

Integer, 查詢終端行數

1
static readonly Integer console.height;

常量

FATAL

loglevel 級別常量

1
const console.FATAL = 0;

ALERT

loglevel 級別常量

1
const console.ALERT = 1;

CRIT

loglevel 級別常量

1
const console.CRIT = 2;

ERROR

loglevel 級別常量

1
const console.ERROR = 3;

WARN

loglevel 級別常量

1
const console.WARN = 4;

NOTICE

loglevel 級別常量

1
const console.NOTICE = 5;

INFO

loglevel 級別常量

1
const console.INFO = 6;

DEBUG

loglevel 級別常量

1
const console.DEBUG = 7;

PRINT

loglevel 僅用於輸出,信息輸出後不換行,file 和syslog 不保存此級別信息

1
const console.PRINT = 9;

NOTSET

loglevel 級別常量

1
const console.NOTSET = 10;