Asignar formato y estilo a los mensajes en Console

Esta guía muestra cómo dar formato y estilo a los mensajes en la consola de Herramientas para desarrolladores de Chrome. Consulta Comienza a usar los mensajes de registro para aprender a registrar mensajes en la consola.

En esta guía, se da por sentado que comprendes los aspectos básicos del desarrollo web; por ejemplo, cómo usar JavaScript para agregar interactividad a una página.

Da formato a los mensajes de la consola

Puedes usar los especificadores de formato para dar formato a los mensajes de la consola.

Los especificadores de formato comienzan con un carácter de porcentaje (%) y terminan con un "tipo de carácter" que indica el tipo de datos (número entero, número de punto flotante, etcétera).

Por ejemplo:

  1. Abrir Console
  2. Ingresa el siguiente comando de la consola.

    const tools = 'Chrome DevTools';
    console.warn('%s is awesome.', tools);
    
  3. El comando anterior produce un mensaje Chrome DevTools is awesome.. valor de cadena de formato

Esta es la lista de especificadores de formato que admiten las Herramientas para desarrolladores de Chrome actualmente.

Especificador Salida
%s Da formato al valor como una cadena.
%i o %d Da formato al valor como un número entero.
%f Da formato al valor como un valor de punto flotante.
%o Da formato al valor como un elemento de DOM expandible.
%O Da formato al valor como un objeto JavaScript expandible.
%c Aplica reglas de estilo CSS a la cadena de salida según lo especificado en el segundo parámetro.

Aplicar varios especificadores de formato

Puedes usar más de un especificador de formato en un mensaje.

  1. Ingresa el siguiente comando de la consola.

    console.info('The total weight of %i %s and %d %s is %f grams.', 3, 'apples', 2, 'oranges', 432.4);
    
  2. El comando anterior produce un mensaje The total weight of 3 apples and 2 oranges is 432.4 grams.. especificadores de varios formatos

Conceptos básicos sobre las conversiones de tipos

El mensaje resultante se convertirá según el especificador de formato.

  1. Ingresa el siguiente comando de la consola.

    console.log('I have %i apples and %d oranges.', 2, 3.5); 
    
  2. El comando anterior produce un mensaje I have 2 apples and 3 oranges.. formatear valores de números enteros

  3. En lugar de registrar 3.5 oranges, el resultado es 3 oranges. %d indica que el valor se debe convertir en un número entero.

Este es un ejemplo de lo que sucede si el tipo de conversión no es válido.

  1. Ingresa el siguiente comando de la consola.

    console.log('Jane has %i kiwis.', 'two');
    
  2. El comando anterior produce un mensaje Jane has NaN kiwis.. NaN en mensaje de la consola

  3. El %i indica que el valor se debe convertir en un número entero, pero el argumento es una cadena. Por lo tanto, muestra NaN (Not-A-Number).

Cómo aplicar estilo a los mensajes de la consola

Hay dos maneras de dar estilo a los mensajes de la consola en Herramientas para desarrolladores.

Estilo con especificador de formato

Puedes usar el especificador de formato %c para definir el estilo de los mensajes de la consola con CSS.

  1. Ingresa el siguiente comando de la consola.

    const style = 'background-color: darkblue; color: white; font-style: italic; border: 5px solid hotpink; font-size: 2em;'
    console.log("%cHooray", style);
    
  2. El comando anterior produce Hooray con los estilos CSS aplicados. salida de estilo con CSS

Estilo con secuencias de escape ANSI

Puedes usar las secuencias de escape de ANSI para diseñar los mensajes de la consola.

Es común que los desarrolladores de Node.js coloreen los mensajes de registro con secuencias de escape ANSI, a menudo con la ayuda de algunas bibliotecas de estilo como tiza, colors, ansi-colors y kleur.

Sin embargo, puedes diseñar el mensaje con secuencias de escape ANSI sin usar ninguna biblioteca. Esta es la sintaxis:

\x1B[𝘗1;…;𝘗nm

En donde,

  • 𝘗1 a 𝘗n son subsecuencias válidas de los parámetros SGR (Select Graphic Rendition).
  • Se puede omitir cualquier parámetro de 𝘗1 a 𝘗n. En ese caso, se supone que su valor es cero.
  • \x1B[m es la abreviatura de \x1B[0m, en la que se restablecerá el atributo de visualización.

Por ejemplo:

  1. Ingresa el siguiente comando de la consola.

    console.log('\x1B[41;93;4mHello\x1B[m');
    
  2. El comando anterior produce un mensaje Hello con fondo rojo, texto amarillo y subrayado. Hola

A continuación, se muestra una lista de códigos de colores compatibles con Herramientas para desarrolladores.

Primer plano Información general Tema claro Tema oscuro
30 40
#00000
#00000
31 41
#AA0000
#ed4e4c
32 42
#00AA00
#01c800
33 43
#AA5500
#d2c057
34 44
#0000AA
#2774f0
35 45
#AA00AA
#a142f4
36 46
#00AAAA
#12b5cb
37 47
#AAAAAA
#cfd0d0
90 100
#555555
#898989
91 101
N.o FF5555
#f28b82
92 102
N.o 55FF55
#01c801
93 103
#FFFF55
#ddfb55
94 104
N.o 5555FF
#669df6
95 105
#FF55FF
#d670d6
96 106
#55FFFF
#84f0ff
97 107
#FFFFFF
#FFFFFF

A continuación, se muestra una lista de códigos de estilo compatibles con Herramientas para desarrolladores.

Parámetros Significado
0 Restablecer todos los atributos de visualización
1 font-weight: bold
2 font-weight: lighter
3 font-style: italic
4 Agregar underline a la propiedad text-decoration
9 Agregar line-through a la propiedad text-decoration
22 Restablecer la propiedad font-weight
23 Restablecer la propiedad font-style
24 Quitar underline de la propiedad text-decoration
29 Quitar line-through de la propiedad text-decoration
38;2;R;G;B color: rgb(𝑅,𝐺,𝐵)
39 Restablecer color property
48;2;R;G;B background: rgb(𝑅,𝐺,𝐵)
49 Restablecer background property
53 Agregar overline a la propiedad text-decoration
55 Quitar overline de la propiedad text-decoration

A continuación, se muestra otro ejemplo más complejo con varios estilos.

  1. Ingresa el siguiente comando de la consola.

    const hello = '\x1B[41;93;4mHello';
    const space = '\x1B[m ';
    const world = '\x1B[34;102;9mWorld';
    
    console.log(hello + space + world);
    
  2. El comando anterior produce un mensaje Hello World con 3 estilos diferentes. Hello World