2012-12-29 5 views
8

में लॉगबैक को कॉन्फ़िगर करना मैं लॉग 4j से लॉगबैक में स्विच करने की प्रक्रिया में हूं लेकिन मुझे अभी तक लॉगबैक काम करने में सफलता नहीं मिल रही है। मैं अपने ग्रहण जावा परियोजना के रूट निर्देशिका में logback.xml रखा है और नीचे अपनी सामग्री है:ग्रहण

<configuration> 

    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>myApp.log</file> 

    <encoder> 
     <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern> 
    </encoder> 
    </appender> 

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> 
    <encoder> 
     <pattern>%msg%n</pattern> 
    </encoder> 
    </appender> 

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

और नीचे मेरी Main.java की प्रासंगिक सामग्री है:

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
public class Main 
{ 
    static final Logger logger = LoggerFactory.getLogger(Main.class); 

    public static void main(String[] args) 
    { 
    logger.info("Main started"); 
    } 
} 

यह काम किया जाना प्रतीत नहीं होता है क्योंकि myApp.log नाम की कोई भी फ़ाइल मेरे ग्रहण जावा एप्लिकेशन की जड़ में बनाई गई है। कोई विचार क्या मैं गलत कर रहा हूँ?

उत्तर

8

कॉन्फ़िगरेशन फ़ाइल को क्लासपाथ पर होना आवश्यक है। मेरा अनुमान है कि यह नहीं है। परियोजना के लिए निर्माण पथ की जांच करें।

+0

यह काम किया। धन्यवाद – Arya

+2

मैवेन के लिए यह फ़ाइल को [src] पर ले जाने में मदद करता है [सलाह] (http://logback.10977.n7.nabble.com/Project-Can-t-Find-logback-xml -file-td3442.html) – lony

+0

इसके अलावा, "क्लासपाथ पर", इसका मतलब है कि फ़ाइल में * निर्देशिका * (पथ) क्लासपाथ पर है। उदा। 'क्लासस्पैट ="/foo:/goo:/foo/bar "' क्लासपाथ पर फ़ाइल '/ foo/bar/logback.xml' फ़ाइल पायेगा। –