Nơi lưu trữ mãi mãi đầu ra console.log?


105

Mình cài mãi và đang dùng, thấy khá buồn cười.

Nhưng tôi nhận ra rằng các bản ghi được đặt ở một nơi khác. Có lời khuyên nào không?

Câu trả lời:


134

Forever có các tùy chọn dòng lệnh cho đầu ra:

-l  LOGFILE      Logs the forever output to LOGFILE
-o  OUTFILE      Logs stdout from child script to OUTFILE
-e  ERRFILE      Logs stderr from child script to ERRFILE

Ví dụ:

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

Xem tại đây để biết thêm thông tin


7
đường dẫn mặc định là gì nếu tôi không chỉ định bất kỳ tham số nào mà chỉ sử dụng như thế forever myappnào? cảm ơn!
AGamePlayer

3
Tôi không thấy nó được ghi lại - tôi nghĩ nó đã thay đổi theo thời gian. Tôi thấy các bản ghi cũ trong thư mục ~ / .forever. Nhưng tôi đã cập nhật rất gần đây và ít nhất là trên máy mac của tôi nếu tôi không chỉ định tên tệp nhật ký, nó sẽ ghi console.log vào thiết bị đầu cuối.
bryanmac

1
-a cũng cần thiết như một tùy chọn nếu các tệp đã tồn tại. forever -a -o out.log -e err.log my-script.js
swateek

2
Sự khác biệt giữa LOGFILE và OUTFILE là gì? Đối với tôi, có vẻ như chúng chứa thông tin giống hệt nhau!
Dominic

3
@Dominic LOGFILE bao gồm tất cả đầu ra bao gồm đầu ra từ quá trình vĩnh viễn, OUTFILE chỉ bao gồm stdout từ tập lệnh con của bạn.
Joseph238

81

Forever, theo mặc định, sẽ đưa nhật ký vào một tệp ngẫu nhiên trong ~/.forever/thư mục.

Bạn nên chạy forever listđể xem các tiến trình đang chạy và tệp nhật ký tương ứng của chúng.

Đầu ra mẫu

>>> forever list
info:    Forever processes running
data:        uid  command       script forever pid  logfile                         uptime
data:    [0] 6n71 /usr/bin/node app.js 2233    2239 /home/vagrant/.forever/6n71.log 0:0:0:1.590

Tuy nhiên, có lẽ tốt nhất là chỉ định với -lnhư được đề cập bởi bryanmac.


1
Nó không phải lúc nào cũng là một tệp ngẫu nhiên. Nếu bạn đã chỉ định một uid với cờ --uid khi bắt đầu thì nó sẽ tạo tệp nhật ký bằng cách sử dụng uid được chỉ định.
ddelrio1986


12

thử lệnh

> forever logs

hoặc là

> sudo forever logs

bạn sẽ nhận được vị trí của tệp nhật ký


5

Điều này đã làm việc cho tôi:

forever -a -o out.log -e err.log app.js

5

Cần thực hiện bình thường forever start script.js để bắt đầu và để kiểm tra bảng điều khiển / nhật ký lỗi, sử dụng forever logs điều này sẽ in danh sách tất cả các nhật ký được lưu trữ vĩnh viễn và sau đó bạn có thể sử dụng tail -f /path/to/logs/file.logvà thao tác này sẽ in nhật ký trực tiếp ra cửa sổ của bạn. nhấn ctrl + z để dừng in nhật ký.


3

Đó là một câu hỏi cũ nhưng tôi đã gặp phải những vấn đề tương tự. Nếu bạn muốn xem đầu ra trực tiếp, bạn có thể chạy

forever logs

Điều này sẽ hiển thị đường dẫn của tệp nhật ký cũng như số lượng tập lệnh. Sau đó bạn có thể sử dụng

forever logs 0 -f

0 phải được thay thế bằng số tập lệnh mà bạn muốn xem đầu ra.


1

Trợ giúp là vị cứu tinh tốt nhất của bạn, có một hành động nhật ký mà bạn có thể gọi để kiểm tra nhật ký cho tất cả các quy trình đang chạy.

forever --help

Hiển thị các lệnh

logs                Lists log files for all forever processes
logs <script|index> Tails the logs for <script|index>

Đầu ra mẫu của lệnh trên, cho ba quá trình đang chạy. đầu ra console.log được lưu trữ trong các bản ghi này.

info:    Logs for running Forever processes
data:        script    logfile
data:    [0] server.js /root/.forever/79ao.log
data:    [1] server.js /root/.forever/ZcOk.log
data:    [2] server.js /root/.forever/L30K.log

1

Theo mặc định, vĩnh viễn đặt tất cả các tệp cần thiết vào /$HOME/.forever. Nếu bạn muốn thay đổi vị trí đó, chỉ cần đặt biến môi trường FOREVER_ROOT khi bạn đang chạy mãi mãi:

FOREVER_ROOT=/etc/forever forever start index.js

0

Bạn cần thêm các chỉ định đích của nhật ký trước tên tệp để chạy. Vì thế

forever -e /path/error.txt -o /path/output.txt start index.js


0

Dựa trên câu trả lời của bryanmac. Tôi chỉ lưu tất cả nhật ký vào một tệp và sau đó đọc nó với đuôi. Cách đơn giản nhưng hiệu quả để làm điều này.

forever -o common.log -e common.log index.js && tail -f common.log

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.