Kennt jemand eine Möglichkeit, die Ausgabe von console.log in Chrome in einer Datei zu speichern? Oder wie kopiere ich den Text aus der Konsole?
Angenommen, Sie führen einige Stunden Funktionstests durch und haben Tausende von Zeilen der Ausgabe von console.log in Chrome. Wie speichert oder exportiert man es?
google-chrome
console
logging
eeejay
quelle
quelle
Antworten:
Ich musste das Gleiche tun und dies ist die Lösung, die ich gefunden habe:
Aktivieren Sie die Protokollierung über die Befehlszeile mithilfe der Flags:
--enable-logging --v=1
Dies protokolliert alles, was Chrome intern tut, aber es protokolliert auch alle
console.log()
Nachrichten. Die Protokolldatei wird aufgerufenchrome_debug.log
und befindet sich in derUser Data Directory
.Filtern Sie die Protokolldatei, die Sie erhalten, nach Zeilen mit
CONSOLE(\d+)
.Beachten Sie, dass Konsolenprotokolle nicht mit angezeigt werden
--incognito
.quelle
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --enable-logging --v=1
mit dem Protokoll gespeichert in~/Library/Application Support/Google/Chrome/chrome_debug.log
console.log()
Zeilen befinden sich nirgends in dieser Datei. Hat jemand eine Lösung dafür?Gute Nachrichten
Mit den Chrome-Entwicklungstools können Sie jetzt die Konsolenausgabe nativ in einer Datei speichern
Anweisungen für Chrome-Entwickler hier .
quelle
{a: 1, b: 2, c: 3, ...}
.Es gibt ein Open-Source-Javascript-Plugin, das genau das tut, aber für jeden Browser - debugout.js
Debugout.js zeichnet auf und speichert console.logs, damit Ihre Anwendung darauf zugreifen kann. Vollständige Offenlegung, ich habe es geschrieben. Es formatiert verschiedene Typen entsprechend, kann verschachtelte Objekte und Arrays verarbeiten und optional einen Zeitstempel neben jedes Protokoll setzen. Sie können die Live-Protokollierung auch an einer Stelle umschalten, ohne alle Ihre Protokollierungsanweisungen entfernen zu müssen.
quelle
Ich habe einen großartigen und einfachen Weg dafür gefunden.
Klicken Sie in der Konsole mit der rechten Maustaste auf das protokollierte Objekt der Konsole
Klicken Sie auf "Als globale Variable speichern".
Siehe den Namen der neuen Variablen - z. B. variableName1
Geben Sie die Konsole ein: JSON.stringify (variableName1)
Kopieren Sie den Inhalt der variablen Zeichenfolge: zB {"a": 1, "b": 2, "c": 3}
quelle
Für eine bessere Protokolldatei (ohne den Chrome-Debug-Unsinn) verwenden Sie:
stattdessen
--v=1
gibt es einfach zu viele info.Es werden weiterhin die Fehler und Warnungen angezeigt, die normalerweise in der Chrome-Konsole angezeigt werden.
Update 18. Mai 2020: Eigentlich denke ich, dass dies nicht mehr stimmt. Ich konnte die Konsolenmeldungen innerhalb dieser Protokollierungsstufe nicht finden.
quelle
Dies kann hilfreich sein oder auch nicht, aber unter Windows können Sie das Konsolenprotokoll mithilfe der Ereignisverfolgung für Windows lesen
http://msdn.microsoft.com/en-us/library/ms751538.aspx
Unsere Integrationstests werden in .NET ausgeführt, daher verwende ich diese Methode, um das Konsolenprotokoll zu unserer Testausgabe hinzuzufügen. Ich habe ein Beispiel für ein Konsolenprojekt erstellt, um es hier zu demonstrieren: https://github.com/jkells/chrome-trace
--enable-logging --v = 1 scheint auf der neuesten Version von Chrome nicht zu funktionieren.
quelle
Viele gute Antworten, aber warum nicht einfach JSON.stringify (your_variable) verwenden? Nehmen Sie dann den Inhalt per Kopieren und Einfügen (entfernen Sie äußere Anführungszeichen). Ich habe dieselbe Antwort auch unter: Wie speichere ich die Ausgabe eines console.log (Objekts) in einer Datei?
quelle
Es gibt ein weiteres Open-Source-Tool, mit dem Sie alle
console.log
Ausgaben in einer Datei auf Ihrem Server speichern können - JS LogFlush (Plug!).Demo
quelle
Wenn Sie einen Apache-Server auf Ihrem lokalen Host ausführen (tun Sie dies nicht auf einem Produktionsserver), können Sie die Ergebnisse auch in einem Skript veröffentlichen, anstatt sie in die Konsole zu schreiben.
Stattdessen
console.log
können Sie schreiben:Dann
save.php
kann man das machenquelle
Unter Linux (zumindest) können Sie CHROME_LOG_FILE in der Umgebung so einstellen, dass Chrome bei jeder Ausführung ein Protokoll der Konsolenaktivität in die angegebene Datei schreibt. Das Protokoll wird bei jedem Start von Chrome überschrieben. Auf diese Weise müssen Sie bei einer automatisierten Sitzung, in der Chrome ausgeführt wird, die Art und Weise, wie Chrome gestartet wird, nicht ändern, und das Protokoll ist nach Beendigung der Sitzung vorhanden.
export CHROME_LOG_FILE = chrome.log
quelle
Heutzutage ist es sehr einfach - klicken Sie mit der rechten Maustaste auf ein Element im Konsolenprotokoll und wählen Sie Speichern unter und speichern Sie die gesamte Protokollausgabe in einer Datei auf Ihrem Computer.
quelle
Die anderen Lösungen in diesem Thread funktionierten auf meinem Mac nicht. Hier ist ein Logger, der eine Zeichenfolgendarstellung mit Ajax zeitweise speichert. benutze es mit
console.save
stattconsole.log
Je nachdem, was Sie benötigen, können Sie diese Zeichenfolge oder nur
console.log
diese speichern und kopieren und einfügen. Hier ist ein Ajax für Sie, falls Sie ihn speichern möchten:Das
saveLog.php
sollte die Daten irgendwo an eine Protokolldatei anhängen. Ich brauchte diesen Teil nicht, also füge ich ihn hier nicht ein. :) :)https://www.google.com/search?q=php+append+to+log
quelle