Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

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

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

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