Journalisation stdout et stderr du noeud

J’utilise le code de plaque de la chaudière de mean.io et démarre le serveur avec la commande

node server.js 

Comment connecter stdout et stderr de mon application express?

Voici mon server.js

 'use ssortingct'; /** * 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 , 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; 

Et ça?

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

Remarque: ces deux fonctions ajoutent automatiquement une nouvelle ligne à votre entrée.

Si vous ne voulez pas que ces nouvelles lignes soient ajoutées à votre entrée, faites ceci

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

process.stdout et process.stderr sont des stream, vous pouvez même y diriger un stream. Voir la documentation Node.js sur les stream pour plus d’informations.

Vous pouvez le faire en écrivant dans les stream stdout et stderr

 process.stdout.write('Hello') 

ou

 process.stderr.write('Error') 

Mieux vaut utiliser un module de journalisation tiers tel que Winston ou Bunyan

Le seul moyen auquel je peux penser est de créer un child process (tel que l’appel système fork), que vous pouvez ensuite “diriger” vers les fichiers. La sortie de stderr , stdout .

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