2012-04-29 15 views
12

Sadece benim nodejs uygulamasının kilitlendiğini fark ettim, bu yüzden uygulaımı başlatmak için forever app.js kullandım ve çöktüğünde otomatik olarak yeniden başlatılmasını sağladım.nodejs'in Sonsuza dek kullanılmasını sağlayan konsol.logs ekrana gelmek için

Sorun: yararlı bilgiler bir sürü Şimdi benim app çıkışları o console.log ve util.log yoluyla çalışır şekilde. Düğüm uygulamasını çalıştırmak için screen'u kullanırdım, ancak artık nodejs uygulamasını çalıştırmak için sonsuza dek kullanıyorum, artık tüm çıktıları göremiyorum.

nodejs uygulamasından tüm çıkışı gerçek zamanlı olarak görmenin bir yolu var mı?

+0

Sadece kuyruk günlük dosyası açmak, ancak gerekirse Çıktısını gerçek zamanlı olarak görmek için sonsuza kadar kullanmamanızı önerir (yani hata ayıklama yaparsınız). – jli

+1

Bazı bilgiler çıktılar, böylece işlerin sayısını, bağlı istemcilerin sayısını her zaman izlemek ve yükün izlenmesi için benim için çok yararlı olduğunu ve daha fazla istemci eklemem gerektiğini veya istemci havuzunun yarısının çöküp düşmediğini belirlemek için izleyebilirim. Bunu yapmak istediğimi yapmak için, hata ayıklama bilgilerini almak için bu nodejs sunucusuna bağlanan bir 'ana istemci' almalı mıyım? Ya da başka bir yöntem var – Nyxynyx

+0

Ve ben sonsuza dek yaşıyorum, bu yüzden nasıl kullanacağımı öğrenebilir ve yaşadığım zaman karşılaşacağım herhangi bir tuzağı keşfedebilirim. Devrede sonsuza dek kullanmanın neden kötü bir neden görmediğini görüyorum. – AJB

cevap

24

Bu kabuk komutunu kullanarak bir günlük dosyasını canlı olarak izleyebilirsiniz.

tail -f /path/to/logfile 

Gereksinim duyduğunuz şey bu olduğundan emin değil. Sonsuza ile Doğrudan

+0

İhtiyacım olan şey gibi geliyor, 'kuyruğunu denemek için sistemime geri dönmem gerekecek. Hızlı bir google aramadan, kuyruk bir dosyadaki son X satır sayısını gösterir, ancak gerçek zamanda güncellenir mi? – Nyxynyx

+2

Man sayfasını okumadınız. – Hello71

+2

'-f 'bayrağı ihtiyacım olanı yapar. Teşekkürler! – Nyxynyx

19

komuta: O (gösterir değişiklikler mesajları yeniden & algılandı) kaydeder sonsuza uygulamanın gerçek zamanlı çıkışında gösterir ve

forever logs app.js -f 

.

forever -o out.log -e err.log my-script.js 

-o ve -e stdout ve stderr günlük dosyaları tanımlamak: Forever Bu örnek göreceksiniz için --help bayrağı geçerseniz

+0

Çalışıyor, yalnızca işleminizi başlatın: sonsuza dek app.js'yi başlatın, ardından sonsuza dek apps.js -f'yi kaydeder – JLavoie

3

.

-o OUTFILE  Logs stdout from child script to OUTFILE 
-e ERRFILE  Logs stderr from child script to ERRFILE 

Sonsuza dek gelişim için biraz aşırı görünüyor. Supervisor bir şans verin ve onu daha iyi isterseniz bakın: gitmek

npm install -g supervisor 
supervisor app.js 
1

En basit yolu

Run:

forever logs // will give you list of log files 
forever logs 0 -f // then just provide the index of log 
İlgili konular