JavaScript: registre per a la consola (console.log vs. frameworks)

Els desenvolupadors han de saber què fa el seu codi mentre funciona amb JavaScript, ja sigui al navegador o a l’entorn NodeJS. Aquesta informació pot ajudar a verificar el codi, trobar errors o mesurar el rendiment. La impressió de dades mitjançant la consola és la manera més bàsica de fer-ho.


En aquest article, tractarem el registre a la consola del navegador mitjançant el mètode console.log () i el registre amb marcs i biblioteques populars.

Bàsic: Iniciar sessió a la consola del navegador mitjançant console.log ()

Al costat del client o al navegador, podeu utilitzar console.log () per registrar qualsevol dada a JavaScript.

Utilitzant console.log () a Javascript o el navegador

Feu clic a la tecla F12 per obrir la consola del navegador. Assegureu-vos que està seleccionada la pestanya “Consola” i, a continuació, podeu copiar i enganxar directament aquests exemples a la línia de comandes de la consola:

1
2
3
4
5
6

console.log (‘foo’); // corda

console.log (‘valor foo:’, 100); // cadena amb algun valor

console.log (‘foo’, ‘bar’, ‘baz’); // cadenes múltiples

console.log ({nom: "Simó", id: 5}); // objecte

console.log ([1, 2, 3], [‘a’, ‘b’, ‘c’]); // múltiples matrius

console.log (nova data ()); // data

Un exemple utilitzant la substitució de cadena

També podeu utilitzar la substitució de cadenes, que és especialment útil amb els bucles de codi.

1
2
3
4
5
6
7
8

var contactes = [

{nom: “Simon”, id: 5, edat: 25},

{name: ‘Ben’, id: 7, edat: 54},

{nom: “Lisa”, id: 9, edat: 32}

];

per (var i = 0; i < contactes.length; i ++) {

   console.log (‘Nom:% s, Edat:% d.’, contactes [i] .name, contactes [i] .age);

}

Que sortirà:

1
2
3

Nom: Simon, edat: 25 anys.

Nom: Ben, Edat: 54 anys.

Nom: Lisa, Edat: 32 anys.

Intermedi: Altres funcions útils de registre de consoles

Hi ha alguns altres mètodes similars a console.log (), però totes les seves sortides visuals difereixen lleugerament:

console.info () i console.warn ()

1
2

console.info ("A continuació, es mostra un text informatiu per fer-vos saber què passa.");

console.warn ("No heu fet alguna cosa terrible, però potser voleu revisar?");

Consell de NodeJS: En considerar aquests mètodes, tingueu en compte que a l’entorn NodeJS, console.error i console.warn sortiran a stderr en lloc de stdout. També hi ha moltes biblioteques de registre de colors, que poden ajudar a millorar la llegibilitat de la sortida de registre a NodeJS.

console.table ()

Si voleu produir moltes dades tabulars, el mètode de registre console.table () és útil; tanmateix, actualment no és compatible amb alguns navegadors, inclosos Internet Explorer, Opera i Safari.

1
2
3
4
5

console.table ([

{nom: “Simon”, id: 5, edat: 25},

{name: ‘Ben’, id: 7, edat: 54},

{nom: “Lisa”, id: 9, edat: 32}

]);

La sortida sembla:

Pestanya consola del navegador

Altres mètodes

A continuació, es mostren algunes altres comandes de registre més esotèriques que podeu llegir a:

  • console.assert ()
  • console.trace ()
  • console.time ()

Intermedi (NodeJS): registre amb console.error ()

Quan voleu registrar errors mitjançant la consola NodeJS, podeu utilitzar console.error (), en lloc de console.log (). D’aquesta manera, els errors es poden redirigir en el procés de shell cap a stdout, stderr i / o a un fitxer de registre. El registre de no errors es pot fer dirigint console.log () a stdout.

Entrada / sortida Shell → redireccions 1> a stdout i 2> a Stderr.

Un exemple de com redirigir la sortida en NodeJS

1
2

console.log (“Això és només sorollós material de depuració”);

console.error (‘Això vol dir que algú va tornar a trencar alguna cosa’);

Podem redirigir tant la sortida (stdout) com els errors (stderr) a fitxers diferents:

1 node test.js > out.log 2> err.log

També podríem redirigir tant la sortida com els errors al mateix fitxer:

1 node test.js > tot.log 2>&1

Avançat: utilitzant frameworks & Biblioteques per iniciar la sessió a la consola

Per obtenir una solució més avançada de registre al navegador, pot ser útil log4javascript. Per a propòsits més importants de registre de NodeJS, pot ser bo utilitzar una biblioteca de registre ben provada, com ara

Winston, Node-Bunyan o Tracer.

Inici de sessió a la consola del navegador mitjançant JS Framework: log4javascript

Aquest és un marc de registre de JS amb una API basada en la biblioteca de registre log4j popular de Java.

Característiques principals del log4javascript:

  • De manera predeterminada, es registra en una finestra de la consola emergent amb una cerca potent (incloent expressió regular) i funcions de filtratge. La finestra també es pot utilitzar com a iframe en línia a la pàgina.
  • Els missatges de registre es poden enviar al servidor mitjançant HTTP (o AJAX, si voleu).
  • És altament configurable mitjançant mètodes familiars de log4j, inclòs PatternLayout, que permet al desenvolupador un control complet sobre el format dels missatges de registre..

Registre JS - log4javascript
Aquí teniu una versió lleugera de log4javascript (admet un subconjunt bàsic de les funcions originals).

Accés a la consola de NodeJS mitjançant una biblioteca: Winston, Node-Bunyan, & Traçador

Segons el context del procés, la naturalesa asíncrona del registre pot conduir a missatges de registre perduts si no es manegen correctament. Aquí és on les biblioteques de registre de NodeJS resulten força útils.

1. Biblioteca Winston

La biblioteca de registre NodeJS més popular sembla ser Winston, pensada per ser simple i universal. Winston admet transports asíncrons (o dispositius d’emmagatzematge dels registres), de manera que cada instància pot tenir diversos transports configurats a diferents nivells. Per exemple, podeu tenir els registres d’errors emmagatzemats de forma constant en una ubicació remota (com una base de dades), però tots els registres sorteixen a la consola o a un fitxer local.

2. Biblioteca Node-Bunyan

La biblioteca Node-Bunyan proporciona un mòdul de registre JSON senzill i ràpid per a NodeJS. La idea d’aquesta biblioteca és que els registres del servidor s’hagin d’estructurar i que JSON sigui un format adequat. Un registre de registre és una línia de sortida JSON.stringify (). També hi ha una eina especial de línia de comandes per a la impressió i filtratge de registres Bunyan.

3. Biblioteca de traçadors

Tracer és una biblioteca de registre NodeJS personalitzable que pot imprimir missatges de registre amb una marca de temps, nom de fitxer, nom del mètode, número de línia, ruta o pila de trucades. Tracer també té suport per als nivells de registre definits per l’usuari, plantilles de sortida personalitzades, altres transports i sortida de colors.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me