console.log 출력은 어디에 저장됩니까?


105

나는 영원히 설치했고 그것을 사용하고 있는데, 꽤 재미있다.

그러나 나는 로그가 다른 곳에 있다는 것을 깨달았습니다. 팁이 있습니까?

답변:


135

Forever는 출력을 위해 명령 줄 옵션을 사용합니다.

-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

예를 들면 :

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

자세한 정보는 여기 를 참조 하십시오


7
매개 변수를 지정하지 않고 다음과 같이 사용하는 경우 기본 경로는 무엇 forever myapp입니까? 감사!
AGamePlayer 2014 년

3
문서화되어 있지 않습니다. 시간이 지남에 따라 변경된 것 같습니다. ~ / .forever 폴더에 이전 로그가 있습니다. 그러나 나는 아주 최근에 업데이트했으며 적어도 내 Mac에서 로그 파일 이름을 지정하지 않으면 console.log를 터미널에 씁니다.
bryanmac 2014 년

1
-a는 파일이 이미있는 경우 옵션으로도 필요합니다. 영원히 -a -o out.log -e err.log 내-script.js
swateek

2
LOGFILE과 OUTFILE의 차이점은 무엇입니까? 저에게는 정확히 같은 정보가 들어있는 것 같습니다!
도미닉

3
@Dominic LOGFILE에는 영구 프로세스의 출력을 포함한 모든 출력이 포함되며 OUTFILE에는 하위 스크립트의 stdout 만 포함됩니다.
Joseph238

81

Forever는 기본적으로 ~/.forever/폴더 의 임의 파일에 로그를 저장합니다.

forever list실행중인 프로세스와 해당 로그 파일을 보려면 실행해야 합니다.

샘플 출력

>>> 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

그러나 -lbryanmac에서 언급 한대로 지정하는 것이 가장 좋습니다 .


1
항상 임의의 파일은 아닙니다. 시작할 때 --uid 플래그로 uid를 지정한 경우 지정된 uid를 사용하여 로그 파일을 생성합니다.
ddelrio1986


12

명령을 시도

> forever logs

또는

> sudo forever logs

로그 파일의 위치를 ​​알 수 있습니다.


5

이것은 나를 위해 일했습니다.

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

5

forever start script.js 시작 하려면 정상적으로해야하며 콘솔 / 오류 로그를 확인하려면 forever logs 영원히 저장되는 모든 로그의 목록을 인쇄 한 다음 사용할 수 tail -f /path/to/logs/file.log있으며 이것은 창에 라이브 로그를 인쇄합니다. 로그 인쇄를 중지하려면 ctrl + z를 누르십시오.


3

오래된 질문이지만 같은 문제를 겪었습니다. 라이브 출력을보고 싶다면 실행할 수 있습니다.

forever logs

그러면 로그 파일의 경로와 스크립트 번호가 표시됩니다. 그런 다음 사용할 수 있습니다.

forever logs 0 -f

0은 출력을보고자하는 스크립트 번호로 대체되어야합니다.


1

도움말은 최선의 구세주이며, 실행중인 모든 프로세스에 대한 로그를 확인하기 위해 호출 할 수있는 로그 작업이 있습니다.

forever --help

명령을 보여줍니다

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

실행중인 세 개의 프로세스에 대한 위 명령의 샘플 출력. console.log 출력은이 로그에 저장됩니다.

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

기본적으로 필요한 모든 파일을 /$HOME/.forever에 저장합니다. 해당 위치를 변경하려면 영원히 실행할 때 FOREVER_ROOT 환경 변수를 설정하십시오.

FOREVER_ROOT=/etc/forever forever start index.js

0

실행할 파일 이름 앞에 로그 대상 지정자를 추가해야합니다. 그래서

영원히 -e /path/error.txt -o /path/output.txt start index.js


0

bryanmac의 답변을 기반으로합니다. 모든 로그를 하나의 파일에 저장 한 다음 꼬리로 읽는 중입니다. 간단하지만 효과적인 방법입니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.