2012-06-20 11 views
7

Me gustaría ejecutar mi aplicación node.js sin los registros automáticos que imprime en el terminal al responder a una solicitud (por ejemplo, 127.0.0.1 - - [Wed, 20 Jun 2012 09:55:49 GMT] "GET /url HTTP/1.1" 200 1559 "http://localhost:3020/url" ...). Además, me gustaría que mis registros de console.log() sigan siendo visibles si es posible.Ejecución de node.js sin registros automáticos

¿Alguien sabe cómo hacer esto? Estoy ejecutando express.js en la parte superior del nodo.

Gracias

+3

¿Tiene una llamada a 'app.use (express.logger())' (o algo similar) en su código? –

+0

Sí, ¿no debería ver mis registros a través de 'console.log()'? – Masiar

Respuesta

7

Al igual que Brandon está diciendo que creo que está utilizando el loggermiddleware en algún lugar de su código. Debe desactivar esa parte especialmente en production mode. Use algo como esto:

app.configure(function(){ 
    app.use(express.methodOverride()); 
    app.use(express.bodyParser()); 
    app.use(app.router); 
}); 

app.configure('development', function(){ 
    app.use(express.static(__dirname + '/public')); 
    app.use(express.errorHandler({ dumpExceptions: true, showStack: true })); 
}); 

app.configure('production', function(){ 
    var oneYear = 31557600000; 
    app.use(express.static(__dirname + '/public', { maxAge: oneYear })); 
    app.use(express.errorHandler()); 
}); 
+0

Muchas gracias, al deshabilitar esa parte, ahora no veo todos los registros y solo veo mis registros :-). – Masiar

+3

El nuevo nombre es morgan (https://www.npmjs.com/package/morgan), p. debe buscar una línea como 'app.use (morgan ('dev'));' – Boern

+0

¡Actualice la respuesta con la gran contribución de Boern! – franer

Cuestiones relacionadas