Console.jsサンプル集

下記ライブラリのサンプル集です。

console

グローバル変数の「console」に標準のコンソールを設定します。

console.log('Hello World.');          // Hello World.

Console.getConsole()

コンソールインスタンスの取得します。
インスタンス単位で出力レベルの設定やファイル出力設定することができます。

console.log('console: '+console.name);// default

var con1 = Console.getConsole();
con1.log('con1: '+con1.name);         // default

var con2 = Console.getConsole('default');
con2.log('con2: '+con2.name);         // default

var con3 = Console.getConsole('test');
con3.log('con3: '+con3.name);         // test

console.beep()

ビープ音出力します。
※連続でビープ音出力しても、指定回数のビープ音を知覚できる保証はありません

console.beep();

Console.commandLineArgumentAnalysis()

コマンドライン引数を解析します。
コマンドライン引数に指定したオプションを標準コンソールに設定にします。

// cscript appname.wsf /stdout- /logfile+
// 標準出力なし、ログファイル出力あり(./{FileBaseName}.log)、新規書き込み

// cscript appname.wsf /stdout- /logfile:"C:\test\test.log"
// 標準出力なし、ログファイル出力あり(C:\test\test.log)、新規書き込み

// cscript appname.wsf /stdout- /logfile+ /logrotate+ /logappend+ /logencode+
// 標準出力なし、ログファイル出力あり(./log/{FileBaseName}.{yyyMMdd}.log)、追加書き込み、UTF-16

// cscript appname.wsf /logformat:"[${yyyy}/${MM}/${dd} ${HH}:${mm}:${ss}]${prefix}${group} ${indent}${message}"
// 標準出力あり、ログ出力なし、フォーマット変更あり
Console.commandLineArgumentAnalysis();
console.log('Hello World');

console.addOutFile()

ファイル出力を追加します。

console.addOutFile('./test.log', true);
console.log('test');

console.setLevel()

出力レベル設定します。
出力レベルを下回る出力は、出力されません。

console.log('DEFAULT: log');          // DEFAULT: log
console.fatal('DEFAULT: fatal');      // DEFAULT: fatal
console.error('DEFAULT: error');      // DEFAULT: error
console.warn('DEFAULT: warn');        // DEFAULT: warn
console.info('DEFAULT: info');        // DEFAULT: info
console.conf('DEFAULT: conf');        // 未出力
console.fine('DEFAULT: fine');        // 未出力
console.finer('DEFAULT: finer');      // 未出力
console.finest('DEFAULT: finest');    // 未出力

console.setLevel(Console.OFF);        // Level: 9(OFF)
console.log('OFF: log');              // 未出力
console.fatal('OFF: fatal');          // 未出力
console.error('OFF: error');          // 未出力

console.setLevel(Console.FATAL);      // Level: 8(FATAL)
console.log('FATAL: log');            // 未出力
console.fatal('FATAL: fatal');        // FATAL: fatal
console.error('FATAL: error');        // 未出力

console.setLevel(7);                  // Level: 7(ERROR)
console.log('ERROR: log');            // 未出力
console.fatal('ERROR: fatal');        // ERROR: fatal
console.error('ERROR: error');        // ERROR: error

console.setLevel(Console.ALL);        // Level: 0(ALL)
console.log('ALL: log');              // ALL: log
console.fatal('ALL: fatal');          // ALL: fatal
console.error('ALL: error');          // ALL: error
console.warn('ALL: warn');            // ALL: warn
console.info('ALL: info');            // ALL: info
console.conf('ALL: conf');            // ALL: conf
console.fine('ALL: fine');            // ALL: fine
console.finer('ALL: finer');          // ALL: finer
console.finest('ALL: finest');        // ALL: finest

console.setFormat()

出力フォーマットを設定する。

console.log('A');
// A

console.setFormat('[${yyyy}/${MM}/${dd} ${HH}:${mm}:${ss}]${prefix}${group} ${indent}${message}');
console.log('B');
// [2019/10/14 22:37:50][INFO] B

console.print()

出力
装飾なし、改行なしの出力を実施する。

console.print('A');
console.print('B');
console.println('C');
// ABC
console.print('A');
console.println('B');
console.print('C');
console.log('log');
// AB
// Clog

console.log()

ログ出力
装飾あり、改行ありの出力を実施する。
※setLevel(), setFormat()参照

console.log('Hello World');
// Hello World

console.group()

グルーピングする。

console.log('A');
// A

console.group();
console.log('B');
console.groupEnd();
//   B

console.group('X');
console.log('C');
console.groupEnd();
//   C

console.setLevel(Console.CONF);
console.group('Y');
console.log('D');
console.group('Z');
console.log('E');
console.groupEnd();
console.log('F');
console.groupEnd();
// Y
//   D
//   Z
//     E
//   F

console.count()

呼び出した回数を記録する。

console.count();                      // default: 1
console.count();                      // default: 2
console.count();                      // default: 3

console.count('A');                   // A: 1
console.count('A');                   // A: 2
console.count('B');                   // B: 1
console.count('A');                   // A: 3

console.countReset('A');              // A: 0
console.count('A');                   // A: 1
console.count('B');                   // B: 2

console.time()

操作の所要時間を追跡する。

console.time();
console.timeLog();                    // default: 0ms
console.timeEnd();                    // default: 1ms
console.timeLog();                    // Timer "default" does not exist.

console.time('A');
WScript.Sleep(777);
console.timeLog('A');                 // A: 778ms
console.timeEnd('A');                 // A: 778ms
console.timeLog('A');                 // Timer "A" does not exist.

console.assert()

falseの場合、エラーメッセージを出力する。

console.assert(false);                // Assertion failed.
console.assert(true, 'エラー発生1');  // 未出力
console.assert(false, 'エラー発生2'); // Assertion failed: エラー発生2

console.trace()

スタックトレースを出力する。
※ErrorUtility.jsと組み合わせることで、引数やファイル情報も出力する

function func1() {
    console.trace();
}
function func2() {
    func1(123);
}

func1();
//console.trace()
//    at func1()
//    etc...

func2('Hello World');
//console.trace()
//    at func1(123)
//    at func2("Hello World")

console.printStackTrace()

エラー出力する。
トレースの開始位置は、最初にErrorUtility.captureStackTrace()した位置となります。エラー発生箇所ではありません。
※ErrorUtility.jsと組み合わせることで、引数やファイル情報も出力する

function func1() {
    throw new Error('xxx');
}
function func2() {
    try {
        func1(123);
    } catch(e) {
        console.printStackTrace(e);
    }
}
func2('ABC');
//Error(): xxx
//    at func2("ABC")
//    etc...

関連記事

  1. FileUtility.jsサンプル集
  2. EncodeUtility.jsサンプル集
  3. Console.jsサンプル集