Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

nsIConsoleService

Podsumowanie

Usługa konsoli to back-end dla narzędzia Konsola błędów, dostępnym w każdej aplikacji Mozilli. Wykorzystywany jest do wypisywania różnych wiadomości, ostrzeżen i błędów oraz do ich pobierania.

Definicja interfejsu: xpcom/base/nsIConsoleService.idl Identyfikator kontraktu: @mozilla.org/consoleservice;1

Interfejs ten nie został zamrożony i może ulec zmianie w przyszłości (błąd 228205).

Przykłady

Zapisywanie prostej wiadomości w dzienniku

Typowe zastosowanie to zapisywanie wiadomości do konsoli:

function LOG(msg) {
  var consoleService = Components.classes["@mozilla.org/consoleservice;1"]
                                 .getService(Components.interfaces.nsIConsoleService);
  consoleService.logStringMessage(msg);
}

Alternatywne metody to m. in. Components.utils.reportError i dump().

Zapisywanie do dziennika wiadomości z dodatkowymi informacjami

Aby dołączyć inne informacje, takie jak plik żródłowy i numer linii, konieczne jest skorzystanie z bardziej skomplikowanego kodu:

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 — tekst do zapisania w dzienniku. Parametr wymagany.
  • aSourceName — adres URL pliku z błędem. W konsoli będzie to odnośnik, więc powinien to być prawdziwy adres URL. Można także przekazać wartość null, jeśli wskazanie pliku żródła nie jest potrzebne/możliwe.
  • aSourceLine — linia #aLineNumber z pliku aSourceName. Za dostarczenie tej linii odpowiada programista. Można także przekazać null, wówczas linia żródła nie zostanie wyświetlona w konsoli błędów.
  • aLineNumber i aColumnNumber — określa dokładne położenie błędu. aColumnNumber wykorzystywany jest do wskazania strzałką problematycznego znaku.
  • aFlags — jedna z flag określonych w nsIScriptError. W momencie tworzenia tego artykułu dostępnymi wartościami były: nsIScriptError.errorFlag = 0, nsIScriptError.warningFlag = 1, nsIScriptError.exceptionFlag = 2 i nsIScriptError.strictFlag = 4.
  • aCategory — tekst określający rodzaj kodu, który spowodował dany błąd. Istnieje kilka kategorii, ale nie ma jednego miejsca, w którym można by znależć je wszystkie. Mamy nadzieję, że kiedyś znajdą się w <tt>nsIScriptError.idl</tt>.tlumaczyc to?

Autorzy i etykiety dokumentu

 Autorzy tej strony: Marcoos
 Ostatnia aktualizacja: Marcoos,