Nuevo método Console() de Node.js

El módulo de la consola proporciona una consola de depuración simple proporcionada por navegadores web que exportan dos componentes específicos:

  • Una clase de consola que se puede usar para escribir en cualquier flujo de Node.js. Ejemplo: consola.log() , consola.error(), etc.
  • Una consola global que se puede usar sin importar la consola . Ejemplo: proceso.stdout, proceso.stderr, etc.

El nuevo método Console() (agregado en v8.0.0) es una interfaz de programación de aplicaciones incorporada del módulo ‘consola’ que crea una nueva consola con una o varias instancias de flujo de escritura en las que stdout es un flujo de escritura y stderr se usa para advertencia o salida de error . Si no se proporciona stderr , se usa stdout para stderr . Es una consola cuya salida se envía a process.stdout y process.stderr .

Nota: Los métodos de la consola global no son consistentemente síncronos ni consistentemente asíncronos.

Sintaxis:

new Console(options);

Argumentos:

const options = { 
   stdout: writableStream, 
   stderr: writableStream, 
   ignoreErrors: true, 
   colorMode:true 
};

Para usar este método, necesitamos crear una consola usando el método ( new Console() ), y necesitamos importar el módulo ‘ consola ‘ y ‘ fs ‘.

const console = require('console');
const fs = require('fs');  

Parámetros: esta función acepta un objeto/lista de parámetros como se mencionó anteriormente y se describe a continuación:

options < Object > : Puede tener los siguientes elementos en el objeto options .

  • stdout < stream.Writable > : Acepta el flujo de escritura que se importa desde el módulo fs.
  • stderr < stream.Writable > : también acepta el flujo de escritura que se importa desde el módulo fs.
  • ignoreErrors < boolean > : el valor predeterminado pasado es verdadero . Ignora los errores al escribir en los flujos subyacentes.
  • colorMode < booleano > | < string > : el valor predeterminado que se pasa es ‘ auto ‘. Se utiliza para establecer el color que solo admite esta instancia de Consola. Se puede configurar como verdadero, falso o ‘automático’ según el modo de color establecido.
  • inspectOptions < Object > : especifica las opciones que se pasan al método util.inspect() .
  • groupIndentation < número > : el valor predeterminado establecido es 2. Se utiliza para establecer la sangría del grupo.

Valor de retorno: su salida se envía a los archivos process.stdout y process.stderr que crea el módulo fs a través de <stream.Writable> .

Los siguientes ejemplos ilustran el uso del nuevo método Consola (opciones) en Node.js.

Ejemplo 1:  Nombre de archivo: index.js

javascript

// Node.js program to demonstrate the
// new Console() method
 
// Using require to access fs module
const fs = require('fs');
 
// Using require to access console module
const { Console } = require('console');
 
// Creating write Stream
const output = fs.createWriteStream('./out.log');
const errorOutput = fs.createWriteStream('./err.log');
 
//
const options = { stdout: output, stderr: errorOutput,
ignoreErrors: true, colorMode: false };
const logger = new Console(options);
 
const count = 5;
 
// Using like console
logger.log('count: %d', count);
console.log("Successfully created and logged via console...", )

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

Nota: El ejemplo anterior de node.js creará archivos de registro (out & err) en la misma carpeta donde existe el archivo index.js .

>> Creado con éxito y registrado a través de la consola…

Ejemplo 2:  Nombre de archivo: index.js

javascript

// Node.js program to demonstrate the
// new Console() method
 
// Using require to access fs module
const fs = require('fs');
 
// Using require to access console module
const console = require('console');
const { Console } = console;
 
try {
 // Creating write Stream
 const output = fs.createWriteStream('./outputlog.txt');
 const error = fs.createWriteStream('./errlog.txt');
 
 // Creating new Console
 const objLogger   = new Console(
    { stdout: output, stderr: error,
     ignoreErrors: true, colorMode: true }
);
 
 // Custom write Stream
 const outt = fs.createWriteStream('./output.log');
 const err = fs.createWriteStream('./error.log');
   
 // Another way to create console
 // (default values are passed to options)
 const logObject = new console.Console(outt, err);
 
 // Creating family object
 var family = {};
 family.Head = 'Miss Sanno';
 family.headDesignation = 'Teacher';
 family.Member1 = 'Miss Sanchi';
 family.member1Designation = 'Kid';
 family.Member2 = 'Master Amit';
 family.member2Designation = 'Student';
 
 // Creating constant value count
 const count = 25+75*5-5/2;
 // Writing via console
 objLogger.log('Family: %s', family);
 // Printing Family Object to console
 console.log('Family Stream Created: ', family);
 // Writing via console
 logObject.log('Count: %s', count);
 // Printing count to console
 console.log('Count Stream Created: ', count);
 // console.log(logObject.family.error)
 }
catch {
  console.error(new Error(
    'Oops, some error happened in family...'));
  // Prints: [Error: Oops, some error
  // happened in family...], to stderr
}

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

Nota: El ejemplo anterior de node.js creará archivos de registro (salida y error) en la misma carpeta donde existe el archivo index.js. 
Flujo familiar creado: { 
Head: ‘Miss Sanno’, 
headDesignation: ‘Teacher’, 
Member1: ‘Miss Sanchi’, 
member1Designation: ‘Kid’, 
Member2: ‘Master Amit’, 
member2Designation: ‘Student’ 

Count Stream creado: 397.5 
 

Referencia: https://nodejs.org/api/console.html#console_new_console_options

Publicación traducida automáticamente

Artículo escrito por amitkumarjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *