Console.log VS Logger.log

Pour afficher des informations dans la console de Google Sheets, vous disposez de 2 options, console.log et Logger.log.

Ces 2 possibilités peuvent sembler similaires au premier abord, or ce n'est pas le cas ...

Sur cette page, vous découvrirez pourquoi console.log est un bien meilleur choix.


Test avec du texte

Un premier essai avec du texte :

function test() {
  console.log('Sheets-Pratique');
  Logger.log('Sheets-Pratique');
}

Dans ce cas, le résultat est identique :

google sheets console logger log texte vs

Test avec plusieurs valeurs

Un essai avec plusieurs valeurs :

function test() {
  console.log('console', 1, 2, 3, 4, 5);
  Logger.log('Logger', 1, 2, 3, 4, 5);
}

Vous pouvez voir que console.log affiche toutes les valeurs tandis que Logger.log n'affiche que la première :

google sheets console logger log plusieurs valeurs vs

Test avec des nombres

Un essai avec des nombres :

function test() {
  console.log(12);
  console.log(12.34);
  Logger.log(12);
  Logger.log(12.34);
}

Vous pouvez voir que console.log affiche les valeurs correctement tandis que Logger.log affiche une décimale inutile à 12 :

google sheets console logger log nombres vs

Test avec des objets

Un essai avec des objets :

function test() {
  console.log([1, 2, 3, [4], {5: 6}]);
  Logger.log([1, 2, 3, [4], {5: 6}]);
}

Vous pouvez voir que l'affichage des données n'est pas identique (sans compter l'agaçante décimale inutile de Logger.log) :

google sheets console logger log objets vs

Test en JavaScript

Un essai avec une boîte de dialogue personnalisée :

function test() {
  SpreadsheetApp.getUi().showModalDialog(HtmlService.createHtmlOutput(`<script>console.log(123);Logger.log(123);</script></body></html>`), 'Test ...');
}

Sans surprise, vous pouvez voir dans la console du navigateur que console.log affiche la valeur tandis que Logger.log renvoie une erreur :

google sheets console logger log javascript vs

Qu'il s'agisse d'une boîte de dialogue personnalisée ou d'une barre latérale personnalisée, le script contenu dans ces éléments est du JavaScript et seul console.log peut fonctionner dans ce cas.

En résumé, Logger.log ne présente aucun intérêt, utilisez simplement console.log dans vos développements.

Console.warn et console.error

En complément, un exemple avec différentes méthodes :

function test() {
  console.log('Sheets-Pratique');
  console.info('Sheets-Pratique');
  console.warn('Sheets-Pratique');
  console.error('Sheets-Pratique');
  Logger.log('Sheets-Pratique');
}

Vous pouvez voir que console.warn et console.error affichent un message avec une couleur plus critique :

google sheets console info warn error vs logger