tutorial react node curso node.js express mean-stack

node.js - react - Registro de stdout y stderr de nodo



mean stack vs lamp stack (3)

¿Qué pasa con esto?

console.log("I will goto the STDOUT"); console.error("I will goto the STDERR");

Nota: estas dos funciones agregan automáticamente una nueva línea a su entrada.

Si no desea que esas nuevas líneas se agreguen a su entrada, haga esto

process.stdout.write("I will goto the STDOUT") process.stderr.write("I will goto the STDERR")

Tanto process.stdout como process.stderr son flujos, por lo que incluso puedes canalizar un flujo hacia ellos. Consulte la documentación de Node.js en las transmisiones para obtener más información.

Estoy utilizando el código de placa de caldera de mean.io e iniciando el servidor con el comando

node server.js

¿Cómo inicio sesión en stdout y stderr de mi aplicación express?

Siguiente es mi server.js

''use strict''; /** * Module dependencies. */ var mongoose = require(''mongoose''), passport = require(''passport''), logger = require(''mean-logger''); /** * Main application entry file. * Please note that the order of loading is important. */ // Initializing system variables var config = require(''./server/config/config''); var db = mongoose.connect(config.db); // Bootstrap Models, Dependencies, Routes and the app as an express app var app = require(''./server/config/system/bootstrap'')(passport, db); // Start the app by listening on <port>, optional hostname app.listen(config.port, config.hostname); console.log(''Mean app started on port '' + config.port + '' ('' + process.env.NODE_ENV + '')''); // Initializing logger logger.init(app, passport, mongoose); // Expose app exports = module.exports = app;


La única forma que se me ocurre para hacer esto es generar un child process (como la llamada al sistema de bifurcación), que luego puede "canalizar" la salida de stderr , stdout a los archivos.

var out = fs.openSync(''./output.log'', ''a'') , err = fs.openSync(''./error.log'', ''a''); require(''child_process'').spawn(''./server'', [], { detached : true, stdio : [''ignore'', out, err] });


Puedes hacer esto escribiendo a stdout y stderr streams

process.stdout.write(''Hello'')

o

process.stderr.write(''Error'')

Mejor será utilizar algún módulo de registro de bunyan como bunyan o bunyan