237 votes

Enregistrez le fichier console.log de Chrome dans un fichier

Quelqu'un connaît-il un moyen d'enregistrer dans un fichier la sortie console.log de Chrome ? Ou comment copier le texte de la console ?

Supposons que vous exécutez quelques heures de tests fonctionnels et que vous avez des milliers de lignes de sortie console.log dans Chrome. Comment l'enregistrer ou l'exporter ?

3 votes

3voto

hindmost Points 3310

Il existe un autre outil open-source qui vous permet de sauvegarder tous les éléments suivants console.log dans un fichier sur votre serveur - JS LogFlush (plug !).

JS LogFlush est une solution intégrée de journalisation JavaScript qui comprend :

  • remplacement de console.log sans interface utilisateur, côté client, pour tous les navigateurs.
  • système de stockage des journaux - côté serveur.

Démo

2voto

brianlmerritt Points 1

De nos jours, c'est très facile : il suffit de cliquer avec le bouton droit de la souris sur n'importe quel élément affiché dans le journal de la console et de sélectionner "Enregistrer sous" pour enregistrer l'ensemble du journal dans un fichier sur votre ordinateur.

2voto

DrChandra Points 11

Sous Linux (au moins), vous pouvez définir CHROME_LOG_FILE dans l'environnement pour que chrome écrive un journal de l'activité de la console dans le fichier nommé à chaque exécution. Le journal est écrasé à chaque fois que Chrome démarre. De cette façon, si vous avez une session automatisée qui exécute chrome, vous n'avez pas à changer la façon dont chrome est lancé, et le journal est là après la fin de la session.

export CHROME_LOG_FILE=chrome.log

1voto

jaya Points 61

Les autres solutions de ce fil de discussion ne fonctionnaient pas sur mon mac. Voici un logger qui enregistre une représentation de chaîne de manière intermittente en utilisant ajax. utilisez-le avec console.save au lieu de console.log

var logFileString="";
var maxLogLength=1024*128;

console.save=function(){
  var logArgs={};

  for(var i=0; i<arguments.length; i++) logArgs['arg'+i]=arguments[i];
  console.log(logArgs);

  // keep a string representation of every log
  logFileString+=JSON.stringify(logArgs,null,2)+'\n';

  // save the string representation when it gets big
  if(logFileString.length>maxLogLength){
    // send a copy in case race conditions change it mid-save
    saveLog(logFileString);
    logFileString="";
  }
};

en fonction de vos besoins, vous pouvez sauvegarder cette chaîne ou simplement console.log et copier-coller. Voici un ajax pour vous au cas où vous voudriez le sauvegarder :

function saveLog(data){
  // do some ajax stuff with data.
  var xhttp = new XMLHttpRequest();

  xhttp.onreadystatechange = function(){
    if (this.readyState == 4 && this.status == 200) {}
  }

  xhttp.open("POST", 'saveLog.php', true);
  xhttp.send(data);
}

le site saveLog.php devrait ajouter les données à un fichier journal quelque part. Je n'ai pas eu besoin de cette partie, donc je ne l'inclus pas ici :)

https://www.google.com/search?q=php+appliquer+au+blog

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X