2010-01-06 9 views
5

मैं log4j के साथ इस कोड है, मैं विन्यास फाइल के किसी भी प्रकार का उपयोग नहीं करतेस्विच logback को

static Logger logger = Logger.getLogger(Application.class); 

... 

Appender ap = new NTEventLogAppender(); 

SimpleLayout layout = new SimpleLayout(); 
Appender fp = null; 
try { 
    fp = new FileAppender(layout, "output.txt"); 
} catch (IOException e) {   
    e.printStackTrace(); 
} 

logger.addAppender(ap); 
logger.addAppender(fp); 

logger.info("info"); 

किसी को भी मुझे दिखा सकते हैं कि कैसे मैं logback साथ एक ही बात कर सकते हैं

उत्तर

6

क्यों क्या आप कॉन्फ़िगरेशन फ़ाइलों का उपयोग नहीं करते हैं? ऐसा इसलिए है क्योंकि आप रनटाइम पर लॉगिंग कॉन्फ़िगरेशन बदलते हैं?

जब तक आपके पास ऐसा करने का एक बहुत ही विशिष्ट कारण नहीं है, तो कॉन्फ़िगरेशन फ़ाइलों का उपयोग करके अपने लॉगिंग फ्रेमवर्क को कॉन्फ़िगर करना मेरे लिए अधिक उचित लगता है।

<configuration> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>output.txt</file> 
    <layout class="ch.qos.logback.classic.PatternLayout"> 
     <Pattern>%level - %msg%n</Pattern> 
    </layout> 
    </appender> 

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

NTEventLogAppender के लिए, मेरी जानकारी के लिए यह logback के लिए मौजूद नहीं है:

आप विन्यास फाइल का उपयोग करते हैं, आपके विन्यास उन पंक्तियों के साथ कुछ हो सकता है। लेकिन log4j से लॉगबैक में एक एपेंडर को पोर्ट करना एक बहुत ही आसान काम है, इसलिए आपको अपना स्वयं का एपेंडर बनाने में सक्षम होना चाहिए।

यदि आपको प्रोग्रामर को प्रोग्रामेटिक रूप से कॉन्फ़िगर करने की आवश्यकता है, तो logback documentation और examples देखें: आपको वहां कुछ विचार मिल सकते हैं।

उम्मीद है कि यह मदद करता है ...

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