2012-06-20 12 views
7

मैं अपने node.js एप्लिकेशन को स्वचालित लॉग के बिना चलाने के लिए टर्मिनल में मुद्रित करना चाहता हूं (उदाहरण के लिए 127.0.0.1 - - [Wed, 20 Jun 2012 09:55:49 GMT] "GET /url HTTP/1.1" 200 1559 "http://localhost:3020/url" ...)। इसके अलावा मुझे लगता है कि console.log() से मेरे लॉग अभी भी दिखाई दे सकते हैं।स्वत: लॉग के बिना node.js चल रहा है

क्या कोई यह जानता है कि यह कैसे करें? मैं नोड के शीर्ष पर express.js चला रहा हूँ।

धन्यवाद

+3

क्या आपके पास अपने कोड में 'app.use (express.logger())' (या कुछ समान) पर कॉल है? –

+0

हां, क्या मुझे अपने कंसोल'log.log() 'के माध्यम से नहीं देखना चाहिए? – Masiar

उत्तर

7

ब्रैंडन जैसा कह रहा है मैं तुम्हें अपने कोड में loggermiddleware उपयोग कर रहे हैं कहीं लगता है। आपको उस भाग को विशेष रूप से production mode में अक्षम करना चाहिए। इस तरह कुछ उपयोग करें:

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

धन्यवाद, उस भाग को अक्षम करके मैं अब सभी लॉग नहीं देखता हूं और बस अपने लॉग देखता हूं :-)। – Masiar

+3

नया नाम मॉर्गन है (https://www.npmjs.com/package/morgan), उदा। आपको 'app.use (morgan ('dev') जैसी रेखा की खोज करनी चाहिए;' – Boern

+0

कृपया बोर्न के महान योगदान के साथ उत्तर अपडेट करें! – franer

संबंधित मुद्दे