2012-06-20 15 views
7

Chciałbym uruchomić moją aplikację node.js bez automatycznych dzienników, które drukuje w terminalu podczas odpowiadania na żądanie (na przykład 127.0.0.1 - - [Wed, 20 Jun 2012 09:55:49 GMT] "GET /url HTTP/1.1" 200 1559 "http://localhost:3020/url" ...). Ponadto chciałbym, aby moje logi z console.log() były nadal widoczne, jeśli to możliwe.Uruchamianie pliku node.js bez dzienników automatycznych

Czy ktoś wie, jak to zrobić? Uruchamiam plik express.js na węźle.

Dzięki

+3

Czy masz wywołanie 'app.use (express.logger())' (lub coś podobnego) w swoim kodzie? –

+0

Tak, czy nie powinienem wyświetlać moich logów przez 'console.log()'? – Masiar

Odpowiedz

7

jak Brandon mówi myślę używasz loggermiddleware gdzieś w kodzie. Powinieneś wyłączyć tę część, szczególnie w production mode. Użyj czegoś takiego:

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

Wielkie dzięki, wyłączając tę ​​część, teraz nie widzę wszystkich dzienników i widzę tylko moje dzienniki :-). – Masiar

+3

Nowe nazwisko to morgan (https://www.npmjs.com/package/morgan), np. powinieneś poszukać wiersza takiego jak 'app.use (morgan ('dev'));' – Boern

+0

Proszę zaktualizuj odpowiedź za pomocą wielkiego wkładu firmy Boern! – franer

Powiązane problemy