nsIConsoleService
出典: MDC
目次 |
[編集] 概要
コンソールサービスは、すべての Mozilla アプリケーションに付属する JavaScript コンソール 【訳注: Firefox 2 ではエラーコンソールという名称に変更されている】 ツールのバックエンド部分です。色々なメッセージ、警告、エラーをロギングしたり、ロギングされたメッセージを取得したりするために使用します。
インタフェース定義: xpcom/base/nsIConsoleService.idl
Contract ID: @mozilla.org/consoleservice;1
このインタフェースは未凍結で、将来的に変更される可能性があります (bug 228205)。
[編集] サンプル
[編集] 単純なメッセージをロギングする
文字列のメッセージをコンソールへ出力するための一般的な使い方:
function LOG(msg) {
var consoleService = Components.classes["@mozilla.org/consoleservice;1"]
.getService(Components.interfaces.nsIConsoleService);
consoleService.logStringMessage(msg);
}
ロギングのための代替手段となるメソッドには Components.utils.reportError と dump() があります。
[編集] 追加情報とともにメッセージをロギングする
ソースファイルや行番号といった他の情報を含めるためには、より複雑なコードを使う必要があります。
function myLogToConsole(aMessage, aSourceName, aSourceLine, aLineNumber,
aColumnNumber, aFlags, aCategory)
{
var consoleService = Components.classes["@mozilla.org/consoleservice;1"]
.getService(Components.interfaces.nsIConsoleService);
var scriptError = Components.classes["@mozilla.org/scripterror;1"]
.createInstance(Components.interfaces.nsIScriptError);
scriptError.init(aMessage, aSourceName, aSourceLine, aLineNumber,
aColumnNumber, aFlags, aCategory);
consoleService.logMessage(scriptError);
}
aMessage— ログとして出力する文字列。必ず指定する必要がある。aSourceName— エラーが発生したファイルのURL。これは JavaScript コンソールでハイパーリンクとして表示されるので、本当の URL にした方が良い。適切な URL がなければnullを渡すこともできる。aSourceLine— ファイルaSourceName中の行番号 #aLineNumberである。あなたは行を指定する責任があるが、面倒であればnullを渡して JavaScript コンソール中にソースファイルの行を表示させないようにすることもできる。aLineNumberとaColumnNumber— エラーがある正確な位置を特定する。aColumnNumberは問題のある文字に対して矢印を付加するために用いられる。aFlags—nsIScriptErrorで定義されたフラグ。現時点で使用可能な値:nsIScriptError.errorFlag = 0,nsIScriptError.warningFlag = 1,nsIScriptError.exceptionFlag = 2,nsIScriptError.strictFlag = 4.aCategory— メッセージ出力の原因となったコードの種類を表す文字列。かなり多くの種類の文字列があるが、それらは一箇所に集約されていなようだ。いずれは、それらがすべて nsIScriptError.idl にリストアップされることを望んでいる。