JavaScript jest nieodłącznym elementem praktycznie każdej strony www. Coraz częściej poziom skomplikowania JavaScriptu jest większy niż logiki po stronie serwera. Niestety js jest trochę niewdzięczny pod względem kontrolowania tego, co robi 🙂
Pisząc pierwsze skrypty wpadłem na pomysł, by strzelać alertami za każdym razem, kiedy chcę sprawdzić, co dzieje się w skrypcie. Życie szybko jednak pokazało, że jest to złe podejście – tak odkryłem metodę console.log();.
Obiekt console nie jest standardowym obiektem js – jest jednak obsługiwany przez konsole w różnych przeglądarkach (np. Firebug czy narzędzia programistyczne w Chromie – przeważnie konsole można włączyć klawiszem F12). Ogólnie możemy z niego korzystać praktycznie bez ograniczeń.
Jak można się łatwo domyśleć console.log() powoduje wyświetlenie wiadomości w konsoli – tak jak to robimy np. log4netem w C#.
Przykładowe wywołanie wygląda tak:
console.log("log test");
i w konsoli mamy:
Wiadomość przekazywaną do metody log() możemy formatować tak, jak w string.format w C# – zmienne z wiadomości oznaczajmy %s:
var p1 = "a"; var p2 = "b"; var p3 = "c";
console.log("Sample log message with parameters: %s, %s, %s", p1, p2, p3);
Tak jak każdy loger obiekt console umożliwia logowanie wiadomości na różnych poziomach (różnią się formatowaniem wiadomości w konsoli):
console.log("log test");
console.error("error test");
console.warn("warn test");
console.info("info test");
console.debug("debug test");
console.log("log test");
Inne przydatne metody.
Metoda log() jest bardzo użyteczna i najczęściej używana. Jednak obiekt console posiada więcej bardzo przydatnych metod.
console.trace()
mój MISZCZ(!) – pokazuje ścieżkę wykonania skryptu 🙂
function method1(p){
method2();
}
function method2(){
console.log("call from method 2");
console.trace();
}
method1("abc");
console.time() / console.timeEnd()
Loguje do konsoli czas wykonania operacji – jej identyfikator podajemy w parametrze:
console.time("test time");
method1();
console.timeEnd("test time");
Są to najczęściej wykorzystywane przeze mnie metody – więcej znajdziecie tutaj: http://getfirebug.com/wiki/index.php/Console_API.
Niestety wykorzystanie obiektu console może przysparzać pewnych problemów, ale o tym napiszę w kolejnym poście.
6 comments
Fajna sprawa i przydatna! Dzięki za wpis na pewno przyda się w codziennej pracy!
Również polecam console! Sam używam od dawna jako zamiennik irytującego alert’a 🙂
Trochę szkoda, że dopiero teraz się o tym dowiaduję 🙂
Chciałbym poprawić: te %s to są określniki formatu.
Fajnie, że się przydało 🙂
Comments are closed.