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]
});