2011-03-16 15 views
5

शीर्षक में निर्दिष्ट के रूप में मैं मेवेन और जेटी का उपयोग कर रहा हूं। एसएलएफ 4 जे और लॉगबैक का उपयोग कर लॉगिंग के लिए। मेरे पास 'srcback.xml' है 'src/main/resource' पर।slf4j, और 'लॉगबैक' के साथ लॉगिंग, लेकिन कॉन्फ़िगरेशन में निर्दिष्ट लॉग फ़ाइल नहीं बना रहा है। (मेवेन, जेट्टी का उपयोग करके)

<configuration> 
     <appender name="STDOUT" 
       class="ch.qos.logback.core.ConsoleAppender"> 
      <layout class="ch.qos.logback.classic.PatternLayout"> 
       <pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern> 
      </layout> 
     </appender> 

     <appender name="FILE" 
      class="ch.qos.logback.core.FileAppender"> 
      <layout class="ch.qos.logback.classic.PatternLayout"> 
       <pattern>%-4relative [%thread] %-5level %class - %msg%n</pattern> 
      </layout> 
      <File>myLog.log</File> 
     </appender> 

     <logger name="org.mortbay"> 
      <level value="debug" /> 
     </logger> 

     <root> 
      <level value="error" /> 
      <appender-ref ref="STDOUT" /> 
      <appender-ref ref="FILE" /> 
     </root> 
</configuration> 

लेकिन मेरी समस्या यह है कि अगर मैं प्रोजेक्ट चला/डीबग करता हूं तो यह 'myLog.log' फ़ाइल नहीं बना रहा है। लॉग फ़ाइल प्राप्त करने का समाधान क्या है।

क्या एसएलएफ 4 जे के साथ लॉग फ़ाइल प्राप्त करने का कोई तरीका है?

+0

यदि आप '' के बजाय '' का उपयोग करते हैं तो इससे कोई फर्क पड़ता है? – Raghuram

+0

@ रघुराम ने का उपयोग करने का प्रयास किया, लेकिन इसका कोई उपयोग नहीं किया गया। – Jessu

उत्तर

10

क्षमा करें! मैंने 'लॉगबैक' के उपयोग को गलत समझा। मैं http://www.mail-archive.com/[email protected]/msg00661.html

से समाधान मिल गया अर्थात

ऐसा लगता है कि आप SLF4J के प्रयोजन के गलत समझा है। यदि आप slf4j-jdk14-1.5.6.jar डालते हैं तो slf4j-api java.util.logging से जुड़ जाएगा। लॉगबैक का उपयोग नहीं किया जाएगा। केवल अगर आप जगह लॉगबैक-कोर.जर और लॉगबैक-क्लासिक.जर अपने क्लास पथ पर (लेकिन slf4j-jdk14-1.5.6.jar नहीं) SLF4J API लॉगबैक के साथ बाध्य होगा। SLF4J एक और केवल एक अंतर्निहित लॉगिंग API (प्रति JVM लॉन्च) के साथ बाध्य करता है।

HTH,

Ceki Gulcu के लिए धन्यवाद। अब मैं अपनी फाइल में लॉग प्राप्त करने में सक्षम हूं।

0

यदि आप जेबॉस 5.1 का उपयोग कर रहे हैं और आपको एक ही समस्या है [लॉगबैक फ़ाइल में नहीं लिख रहा है] तो jboss-web.xml में निम्नलिखित जोड़ें।

<class-loading> 
    <loader-repository> 
     com.hp:classloader=logback-slf4j 
     <loader-repository-config>java2ParentDelegation=false</loader-repository-config> 
    </loader-repository> 
</class-loading> 

यह आपकी समस्या का समाधान करना चाहिए।