nsIConsoleService

// サービス取得
var consoleSvc = Cc["@mozilla.org/consoleservice;1"].getService(Ci.nsIConsoleService);

// エラーコンソールへの出力内容を消去
consoleSvc.reset();

// #1 Components.utils.reportErrorによるのエラーメッセージ出力
Components.utils.reportError("error #1");

// #2 nsIConsoleService.logStringMessageによるエラーメッセージ出力
consoleSvc.logStringMessage("error #2");

// #3 nsIConsoleService.logMessageによるエラーメッセージ出力
var err = Cc["@mozilla.org/scripterror;1"].createInstance(Ci.nsIScriptError);
err.init("error #3", null, null, null, null, err.errorFlag, null);
consoleSvc.logMessage(err);

// エラーコンソールへの出力内容を列挙
var msgs = {};
consoleSvc.getMessageArray(msgs, {});
msgs.value.forEach(function(msg) {
    dump("---\n");
    if (msg instanceof Ci.nsIScriptError) {
        // [JavaScript Error]
        msg.QueryInterface(Ci.nsIScriptError);
        dump(
            msg + "\n" +
            "errorMessage => " + msg.errorMessage + "\n" +
            "sourceName   => " + msg.sourceName   + "\n" +
            "sourceLine   => " + msg.sourceLine   + "\n" +
            "lineNumber   => " + msg.lineNumber   + "\n" +
            "columnNumber => " + msg.columnNumber + "\n" +
            "flags        => " + msg.flags        + "\n" +
            "category     => " + msg.category     + "\n"
        );
    }
    else {
        // [xpconnect wrapped nsIConsoleMessage]
        dump(
            msg + "\n" +
            "message     => " + msg.message + "\n"
        );
    }
});

リファレンス

nsIConsoleService - MDC
nsIConsoleService.idl
nsIConsoleMessage.idl
nsIScriptError.idl

TOP

TOP