Ist es möglich, ein Datum / eine Uhrzeit an ein Konsolenprotokoll zu binden?

7

Ich habe den folgenden Code:

%Vor%

Was funktioniert, wenn ich Dinge, die mit [DEBUG] vorangestellt sind, auf der Konsole protokollieren möchte. Jetzt möchte ich dem Protokoll ein Datum / eine Uhrzeit hinzufügen und habe dies versucht:

%Vor%

Was offensichtlich nicht funktioniert, weil es immer die gleiche Zeit protokolliert (die Zeit, zu der .bind aufgerufen wurde).

Gibt es eine Möglichkeit (mit .bind ) die aktuelle Zeit für jedes Protokoll zu protokollieren ohne dies zu tun:

%Vor%

?

Weil die obige Methode mir die Zeile zeigt, dass console.log.apply aufgerufen wurde und nicht die Zeile, die myLog aufgerufen hat.

    
Neal 23.08.2013, 19:06
quelle

2 Antworten

25

Ja. Ссылка

%Vor%

Dies funktioniert, weil toString bei jedem Aufruf von timestamp an console.log (und tatsächlich an allem) aufgerufen wird.

Wir überschreiben die Standardmethode toString und ersetzen sie durch einen Zeitstempel (Sie können natürlich die Ausgabe beliebig ändern).

Ich habe das obige Muster gewählt, weil, wie andere (im SO-Chat) bemerkt haben, Sie das DEBUG-Objekt einfach erweitern können, um andere Dinge zu tun.

%Vor%     
Shmiddty 23.08.2013, 19:31
quelle
2

Ich denke, das ist, was Sie suchen, was einfach ist

%Vor%     
Hari Krishna Tumpudi 16.03.2016 21:13
quelle

Tags und Links