概要
コンソールサービスは、すべての Mozilla アプリケーションに付属する JavaScript コンソール 【訳注: Firefox 2 ではエラーコンソールという名称に変更されている】 ツールのバックエンド部分です。色々なメッセージ、警告、エラーをロギングしたり、ロギングされたメッセージを取得したりするために使用します。
インタフェース定義: xpcom/base/nsIConsoleService.idl
Contract ID: @mozilla.org/consoleservice;1
このインタフェースは未凍結で、将来的に変更される可能性があります (バグ 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
— メッセージ出力の原因となったコードの種類を表す文字列。かなり多くの種類の文字列があるが、それらは一箇所に集約されていなようだ。いずれは、それらがすべて <tt>nsIScriptError.idl</tt> にリストアップされることを望んでいる。
Interwiki Languages Links