हमेशा के लिए कंसोल.लॉग कहां स्टोर करता है?


105

मैंने हमेशा के लिए स्थापित किया और इसका उपयोग कर रहा हूं, यह काफी मजेदार है।

लेकिन मुझे एहसास हुआ कि लॉग कहीं और रखे जाते हैं। क्या कोई उपाय है?

जवाबों:


135

हमेशा आउटपुट के लिए कमांड लाइन विकल्प लेता है:

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

3
मैं इसे प्रलेखित नहीं देखता - मुझे लगता है कि यह समय के साथ बदल गया। मैं ~ / .forever फ़ोल्डर में पुराने लॉग देखता हूं। लेकिन मैंने बहुत हाल ही में अपडेट किया और कम से कम अपने मैक पर अगर मैंने लॉग फ़ाइल का नाम निर्दिष्ट नहीं किया है, तो यह कंसोल को लिखता है। टर्मिनल पर।
ब्रायनमैक

1
-एक विकल्प के रूप में भी आवश्यक है अगर फाइलें पहले से मौजूद हैं। हमेशा -a -o out.log -e इरेटल। my-script.js
swateek

2
लोगो और OUTFILE के बीच क्या अंतर है? मेरे लिए ऐसा लगता है कि उनमें ठीक वैसी ही जानकारी है!
डोमिनिक

3
@Dominic उपस्कर में हमेशा की प्रक्रिया से आउटपुट सहित सभी आउटपुट शामिल हैं, OUTFILE में केवल आपकी चाइल्ड स्क्रिप्ट से स्टडआउट शामिल है।
जोसेफ 238

81

हमेशा के लिए, डिफ़ॉल्ट रूप से, ~/.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

हालाँकि, यह शायद सबसे अच्छा है -lजैसा कि ब्रायनमैक ने उल्लेख किया है।


1
यह हमेशा एक यादृच्छिक फ़ाइल नहीं है। यदि आपने शुरू करते समय --आईडी ध्वज के साथ एक यूआईडी निर्दिष्ट किया है तो यह निर्दिष्ट यूआईडी का उपयोग करके एक लॉग फ़ाइल बनाएगा।
ddelrio1986


12

आदेश का प्रयास करें

> forever logs

या

> sudo forever logs

आपको लॉग फ़ाइल का स्थान मिलेगा



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>

उपरोक्त आदेश का नमूना आउटपुट, तीन प्रक्रियाओं के लिए चल रहा है। कंसोल.लॉग आउटपुट इन लॉग में संग्रहीत हैं।

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

ब्रायनमैक के उत्तर के आधार पर। मैं बस एक फ़ाइल में सभी लॉग सहेज रहा हूं और फिर इसे पूंछ के साथ पढ़ रहा हूं। ऐसा करने का सरल, लेकिन प्रभावी तरीका।

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

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.