nsIConsoleService

 

概要

コンソールサービスは、すべての 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.reportErrordump() があります。

追加情報とともにメッセージをロギングする

ソースファイルや行番号といった他の情報を含めるためには、より複雑なコードを使う必要があります。

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 コンソール中にソースファイルの行を表示させないようにすることもできる。
  • aLineNumberaColumnNumber — エラーがある正確な位置を特定する。 aColumnNumber は問題のある文字に対して矢印を付加するために用いられる。
  • aFlagsnsIScriptError で定義されたフラグ。現時点で使用可能な値: nsIScriptError.errorFlag = 0, nsIScriptError.warningFlag = 1, nsIScriptError.exceptionFlag = 2, nsIScriptError.strictFlag = 4.
  • aCategory — メッセージ出力の原因となったコードの種類を表す文字列。かなり多くの種類の文字列があるが、それらは一箇所に集約されていなようだ。いずれは、それらがすべて <tt>nsIScriptError.idl</tt> にリストアップされることを望んでいる。

Interwiki Languages Links

ドキュメントのタグと貢献者

 このページの貢献者: saneyuki_s
 最終更新者: saneyuki_s,