2012-04-29 16 views
12

Tôi vừa phát hiện ra rằng ứng dụng nodejs của tôi vẫn bị lỗi, vì vậy tôi đã sử dụng forever app.js để khởi động ứng dụng của mình và tự động khởi động lại khi nó gặp sự cố.Sử dụng nút tắt của nodejs để xuất ra console.logs đến màn hình

Sự cố: Hiện tại, ứng dụng của tôi xuất ra rất nhiều thông tin hữu ích khi nó chạy qua console.logutil.log. Tôi đã từng sử dụng screen để chạy ứng dụng nút, nhưng bây giờ tôi đang sử dụng mãi mãi để chạy ứng dụng nodejs, tôi không còn có thể thấy tất cả các kết quả đầu ra.

Có cách nào để xem tất cả đầu ra từ ứng dụng nodejs trong thời gian thực không?

+0

Chỉ cần mở logfile trong đuôi, nhưng nếu bạn cần để xem thời gian thực đầu ra nó cho thấy bạn không nên sử dụng mãi mãi (tức là bạn đang gỡ lỗi). – jli

+1

i xuất một số thông tin để tôi có thể theo dõi số lượng công việc, số lượng khách hàng được kết nối bất kỳ lúc nào, rất hữu ích cho tôi để theo dõi tải và xác định xem tôi có nên thêm nhiều khách hàng hay không. Tôi cho rằng để làm những gì tôi muốn làm, tôi cần phải có một 'khách hàng chủ' kết nối với máy chủ nodejs này để nhận được thông tin gỡ rối? Hoặc là có một phương pháp khác – Nyxynyx

+0

Và tôi đang chạy mãi mãi trong khi tôi đang ở dev vì vậy tôi có thể tìm hiểu làm thế nào để sử dụng nó và khám phá bất kỳ cạm bẫy tôi sẽ gặp phải khi đi trực tiếp. Tôi không thấy lý do tại sao nó 'xấu' để sử dụng mãi mãi trong dev. – AJB

Trả lời

24

Bạn có thể xem tệp nhật ký trực tiếp bằng cách sử dụng lệnh shell này.

tail -f /path/to/logfile 

Không chắc chắn nếu đây là những gì bạn cần.

+0

Có vẻ như đó là những gì tôi cần, tôi cần quay lại hệ thống của mình để thử 'đuôi'. Từ tìm kiếm nhanh trên google, đuôi chỉ hiển thị số dòng X cuối cùng trong một tệp, nhưng nó có cập nhật trong thời gian thực không? – Nyxynyx

+2

Không đọc trang người đàn ông. – Hello71

+2

'-f' cờ sẽ làm những gì tôi cần. Cảm ơn! – Nyxynyx

19

trực tiếp với mãi mãi chỉ huy:

forever logs app.js -f 

Nó cho thấy sản lượng thời gian thực của ứng dụng của bạn và mãi mãi ghi (chương trình phát hiện những thay đổi & khởi động lại tin nhắn).

+0

Nó hoạt động, chỉ cần bắt đầu quá trình của bạn: mãi mãi bắt đầu app.js, sau đó mãi mãi ghi nhật ký app.js -f – JLavoie

3

Nếu bạn vượt qua --help cờ để hạn bạn sẽ thấy ví dụ này:

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

-o-e xác định stdout và stderr file log.

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

Mãi mãi có vẻ hơi quá mức cần thiết để phát triển. Cho Supervisor một shot và xem nếu bạn thích nó tốt hơn:

npm install -g supervisor 
supervisor app.js 
1

Cách đơn giản nhất để đi là

Run:

forever logs // will give you list of log files 
forever logs 0 -f // then just provide the index of log 
Các vấn đề liên quan