2015-06-24 10 views
11

के साथ WildFly-8.x को कैसे चलाएं के साथ मैं WildFly-8.x में मानक लॉगिंग तंत्र को प्रतिस्थापित करना चाहता हूं।log4j2 और slf4j

ऐसा करने का मेरा विचार मॉड्यूल के रूप में निम्नलिखित जार जोड़ने था:

log4j-api-2.3.jar 
log4j-core-2.3.jar 

और सर्वर द्वारा प्रदान की लकड़हारा के लिए एक module.xml जोड़ने।

जब से मैं alredy अपने आवेदन, Maven के माध्यम से बनाया गया है, जिसमें slf4j उपयोग करते हैं, मैं बस

<!-- versions are provided via private parent-pom --> 
    <!-- slf4j-api --> 
    <dependency> 
    <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-api</artifactId> 
    <scope>provided</scope> 
    </dependency> 
    <!-- slf4j to log4j2, needed??? --> 
    <dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-slf4j-impl</artifactId> 
    <scope>provided</scope> 
    </dependency> 
    <!-- log4j2 api, do I really need this?? --> 
    <dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-api</artifactId> 
    <scope>provided</scope> 
    </dependency> 
    <!-- log4j2 api, do I really need this?? --> 
    <dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-core</artifactId> 
    <scope>provided</scope> 
    </dependency> 

तो मेरी कान-फ़ाइल के निर्माण के लिए मेरी pom.xml में निम्नलिखित सामान जोड़ने का निर्णय लिया, कुछ सवाल बने हुए हैं:

1.) क्या मुझे अपने jboss-deployment-structure.xml में अतिरिक्त निर्भरताओं की आवश्यकता है, ऐसा कुछ ऐसा दिखता है?

[...] 
<ear-subdeployment-isolated>false</ear-subdeployment-isolated> 
<deployment> 
    <dependencies> 
    [...] 
    <!-- name taken from my introduced module.xml --> 
    <module name="org.apache.logging.log4j2" slot="main" export="true" /> 
    [...] 
    </dependencies> 
</deployment> 

2.) मैं अपने standalone-*.xml में log4j2 कॉन्फ़िगर करूँ? मुझे लगता है कि <loggers/> और <handlers/> केवल अंतर्निर्मित सिस्टम के साथ काम करेगा?

3.) क्या मुझे प्रत्येक मेवेन मॉड्यूल में ऊपर pom.xml स्निपेट निर्दिष्ट करने की आवश्यकता है जहां मैं कुछ लॉग करता हूं (जो लगभग हर मॉड्यूल जहां जावा क्लास रहता है)?

और थोड़ा "कैंडी" प्रश्न: 4.) लॉगफाइल को संपीड़ित करने के लिए मैं log4j2 कैसे सेटअप करूं, क्योंकि यह log4j (1) -extras के साथ किया गया था?

+0

उपयोग कर रहे हैं फ़ाइलों को संपीड़ित करने के लिए आप बस विस्तार ज़िप या लॉग फ़ाइल नाम के .gz जोड़ने और इसे संकुचित हो जाएगा क्रमशः – alan7678

उत्तर

3

मुझे आशा है कि this लिंक की सहायता से आप, यह

के रूप में

और अपने प्रश्न 4

के लिए मैं कैसे सेटअप log4j2 करते हैं, लॉगफ़ाइल संपीड़ित करने के लिए के रूप में यह log4j साथ किया गया था के अधिकांश के लिए वैकल्पिक प्रवेश ढांचे (1 शामिल) -extras?

आप इसे नीचे

filePattern="logs/app-%d{MM-dd-yyyy}.log.gz" 

तरह कॉन्फ़िगर कर सकते हैं अगर आप RollingFile appender

+0

आपके उत्तर के लिए बहुत धन्यवाद। अनजाने में यह मेरी आवश्यकताओं को पूरी तरह से पूरा नहीं करता है, क्योंकि मैं वास्तव में अपने लॉगिंग में 'मार्कर समर्थन' चाहता हूं। – Rob