मैं एक दूरस्थ सर्वर पर एक युद्ध तैनात करने के लिए कार्गो मेवेन प्लगइन का उपयोग कर रहा हूं, और मुझे समस्याएं आ रही हैं। मैं शायद उस समस्या के लिए दूसरा प्रश्न बनाउंगा, लेकिन यह एक मैवेन प्लगइन की log4j कॉन्फ़िगरेशन को ओवरराइड करने के बारे में है। कार्गो जेबॉस सर्वर क्लाइंट पुस्तकालयों का उपयोग जेबॉस सर्वर (जो मैं करने की कोशिश कर रहा हूं) को सामान भेजने के लिए करता हूं। जेबॉस लाइब्रेरी log4j का उपयोग करती है। कार्गो किसी भी तरह की मैपिंग परत स्थापित नहीं करता है जिसे मैं जानता हूं।मैं एक मैवेन प्लगइन के log4j कॉन्फ़िगरेशन को ओवरराइड कैसे करूं?
तो, अनिवार्य रूप से, मैवेन प्लगइन की निर्भर लाइब्रेरी में लॉग संदेश हो रहे हैं। मैं -Dlog4j.debug स्थापित करने की कोशिश की और इस जानकारी मिल गया:
log4j: Trying to find [log4j.xml] using ClassRealm[plugin>org.codehaus.cargo:cargo-maven2-plugin:1.0.5, parent: ClassRealm[maven.api, parent: null]] class loader. log4j: Trying to find [log4j.xml] using ClassLoader.getSystemResource(). log4j: Trying to find [log4j.properties] using context classloader ClassRealm[plugin>org.codehaus.cargo:cargo-maven2-plugin:1.0.5, parent: ClassRealm[maven.api, parent: null]]. log4j: Using URL [jar:file:/C:/Users/username/.m2/repository/org/jboss/jbossts/jbossjts/4.13.1.Final/jbossjts-4.13.1.Final.jar!/log4j.properties] for automatic log4j configuration. log4j: Reading configuration from URL jar:file:/C:/Users/username/.m2/repository/org/jboss/jbossts/jbossjts/4.13.1.Final/jbossjts-4.13.1.Final.jar!/log4j.properties log4j: Could not find root logger information. Is this OK? log4j: Parsing for [com.arjuna] with value=[INFO, default, stdout]. log4j: Level token is [INFO]. log4j: Category com.arjuna set to INFO log4j: Parsing appender named "default". log4j: Parsing layout options for "default". log4j: Setting property [conversionPattern] to [%d [%t] %-5p %c - %m%n]. log4j: End of parsing for "default". log4j: Setting property [maxBackupIndex] to [2]. log4j: Setting property [file] to [transaction.log]. log4j: Setting property [maxFileSize] to [500KB]. log4j: setFile called: transaction.log, true log4j: setFile ended log4j: Parsed "default" options. log4j: Parsing appender named "stdout". log4j: Parsing layout options for "stdout". log4j: Setting property [conversionPattern] to [%d [%t] %-5p %c - %m%n]. log4j: End of parsing for "stdout". log4j: Setting property [threshold] to [WARN]. log4j: Parsed "stdout" options. log4j: Handling log4j.additivity.com.arjuna=[null] log4j: Finished configuring. log4j:WARN No appenders could be found for logger (org.jnp.interfaces.TimedSocketFactory). log4j:WARN Please initialize the log4j system properly.
तो मैं करने की कोशिश की स्थापना के -Dlog4j.configuration = mylog4j.properties लेकिन यह मिल गया:
log4j: Trying to find [mylog4j.properties] using context classloader ClassRealm[plugin>org.codehaus.cargo:cargo-maven2-plugin:1.0.5, parent: ClassRealm[maven.api, parent: null]]. log4j: Trying to find [mylog4j.properties] using ClassRealm[plugin>org.codehaus.cargo:cargo-maven2-plugin:1.0.5, parent: ClassRealm[maven.api, parent: null]] class loader. log4j: Trying to find [mylog4j.properties] using ClassLoader.getSystemResource(). log4j: Could not find resource: [mylog4j.properties]. log4j:WARN No appenders could be found for logger (org.jnp.interfaces.TimedSocketFactory). log4j:WARN Please initialize the log4j system properly.
ऐसा लगता है कि log4j कॉन्फ़िगरेशन फ़ाइल को Maven प्लगइन के क्लासपाथ में होना आवश्यक है, लेकिन मुझे नहीं पता कि वहां यादृच्छिक फ़ाइलों को कैसे शामिल किया जाए, केवल निर्भरताएं मैं वास्तव में इस जानकारी को सेट करना चाहता हूं ताकि मैं अपनी समस्या का निवारण करने के लिए जेबॉस पुस्तकालयों से डीबग जानकारी प्राप्त कर सकूं।
समस्या का विस्तारित स्टैक ट्रेस वास्तव में, यह पहचानने में मेरी सहायता करता है कि अपवाद कहाँ उत्पन्न किया जा रहा था (और मैं धीरे-धीरे इसे हल करने पर काम कर रहा हूं।) फिर भी, ऐसा लगता है कि यह कैसे करना है उपयोगी जानकारी हो सकती है यह ओवरराइड, अगर यह भी संभव है। –