2011-08-22 7 views
5

मैं वर्तमान में एक्लिप्स और स्थानीय टॉमकैट 7 सर्वर का उपयोग करके एक साधारण वेब ऐप विकसित करता हूं। मैंने एक्लिप्स को कॉन्फ़िगर किया है, इसलिए मैं अपने आईडीई से सीधे टॉमकैट 7 शुरू कर सकता हूं - यहां ज्यादा जादू नहीं है।लिनक्स टॉमकैट 7 स्थापना पर मेरे वेबपैप की मेरी लॉगिंग फाइलें कहां जाएं?

अपने वेब ऐप्लिकेशन में, मैं Logback है, जो एक सेवा वर्ग में इस तरह दिखता है के साथ SLF4J का उपयोग करें:

public class MyServiceImpl implements MyService 
{ 
    private static Logger logger = LoggerFactory.getLogger(MyServiceImpl.class); 

    public void doSomeStuff() 
    { 
     logger.info("Doing some stuff"); 
    } 
} 

मेरे लॉगिंग इस तरह से कॉन्फ़िगर किया गया है:

<?xml version="1.0" encoding="UTF-8"?> 
<configuration> 

    <appender name="fileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
     <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> 
      <fileNamePattern>log/MyTestWebApp.%d.log.zip</fileNamePattern> 
      <maxHistory>30</maxHistory> 
     </rollingPolicy> 
     <encoder> 
      <pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern> 
     </encoder> 
    </appender> 

    <logger name="com.test" level="WARN" /> 

    <root level="WARN"> 
     <appender-ref ref="fileAppender" /> 
    </root> 

</configuration> 

जब मैं अपने वेब शुरू ऐप और इसलिए स्थानीय टॉमकैट 7 सर्वर, लॉगिंग आउटपुट

./log/MyTestWebApp.log 

अपेक्षित के रूप में, जहां curr ent निर्देशिका यह है कि जहां मेरा वेब ऐप है (उदाहरण के लिए, जहां मेरा मैवेन pom.xml है)।

जब मैं रिमोट लिनक्स मशीन पर अपना वेब ऐप शुरू करता हूं, तो मुझे कोई भी "MyTestWebApp.log" फ़ाइल नहीं मिलती है, न कि मेरे वेब ऐप के निर्देश में, न ही टॉमकैट 7-रूट निर्देशिका में।

तो मेरा सरल सवाल यह है कि, वे लॉग कहां जाते हैं और मेरी "MyTestWebApp.log" फ़ाइल कहां है?

आपकी मदद के लिए बहुत बहुत धन्यवाद!

+1

अगर यह अपने स्थानीय मशीन पर काम करता है लेकिन नहीं दूरदराज के, तो आप फ़ाइल की, फोल्डर आदि विशेषाधिकार जांच करना चाह सकते – Will

+0

आपके उत्तर के लिए धन्यवाद, कृपया नीचे मेरी टिप्पणी palacsint की पोस्ट पर देखें, मुझे "टोमकैट/बिन/लॉग/*" निर्देशिका में मेरा लॉगफाइल मिला। –

उत्तर

4

लॉग फ़ाइल टोमकैट की प्रारंभिक निर्देशिका के अंदर है। आप इस निर्देशिका के साथ इस निर्देशिका को प्राप्त कर सकते हैं:

grep -az "\bPWD" /proc/TOMCAT_PID/environ 
+0

आपके उत्तर के लिए धन्यवाद। मैंने अपनी "टॉमकैट/बिन/लॉग/*" निर्देशिका में अपना लॉगफाइल पाया। खैर, मुझे नहीं लगता कि यह लॉग फाइलों के लिए एक सही रास्ता है :) क्या सिस्टम को कॉन्फ़िगर करने का एक आम तरीका है, इसलिए लॉगफाइल सही जगह पर जा रहे हैं (यह क्या है)? –

+2

जैसा कि मैंने देखा है कि दो तरीके हैं: अपने logback.xml में पूर्ण पथ सेट करें या सुनिश्चित करें कि टोमकैट हमेशा उचित निर्देशिका से शुरू होता है। मैं आमतौर पर पूर्ण पथ का उपयोग करता हूं और एक मेवेन प्रोफाइल के साथ उत्पादन युद्ध उत्पन्न करता हूं जो logback.xml पर संसाधन फ़िल्टरिंग करते हैं और इसमें पूर्ण पथ डालते हैं। – palacsint

3

क्या आपने अपनी tomcat7 निर्देशिका के अंदर अनुमतियां जांच ली हैं? अर्थात।/var/lib/tomcat7 का मालिक कौन है? कभी-कभी एक इंस्टॉलेशन इस निर्देशिका को रूट के स्वामित्व में रखेगा, टॉमकैट 7 उपयोगकर्ता को पहले स्थान पर 'लॉग' निर्देशिका बनाने की अनुमति नहीं देगा।

इसे ठीक करने के लिए बस

sudo chown tomcat7:tomcat7 /var/lib/tomcat7 

आशा है कि यह मदद करता है, Sekm

संबंधित मुद्दे