के लिए टॉमकैट होम डीआईआर के सापेक्ष पथ निर्दिष्ट करें मैं अपने टॉमकैट सर्वर को स्थानीय रूप से चलने के लिए log4j2 कॉन्फ़िगर करने का प्रयास कर रहा हूं। मैं लॉग्स को उस स्थान पर पाइप करने में असमर्थ हूं जो टॉमकैट इंस्टॉल से संबंधित है।log4j2 फ़ाइल एपेंडर
यदि मैं एक पूर्ण पथ निर्दिष्ट करता हूं तो यह काम करता है। यदि मैं एक सापेक्ष पथ का उपयोग करता हूं तो यह System.getProperty("user.dir")
के स्थान पर आउटपुट करता है।
लेकिन जब मैं ${catalina.home}
या ${catalina.base}
का उपयोग करने का प्रयास करता हूं तो यह काम नहीं करता है। अगर मैं स्टार्टअप पर उन दो सिस्टम गुणों को आउटपुट करता हूं, तो उन्हें परिभाषित किया जाता है और उचित स्थान पर इंगित किया जाता है।
इसके अलावा,
- बिलाव 7.0.26
- सर्वलेट 2.5
- log4j2.0 बीटा इसके पीछे log4j2 साथ slf4j 8
- हम प्रयोग कर रहे हैं।
- मैं पर्यावरण परिवर्तक
-DLog4jContextSelector=org.apache.logging.log4j.core.async.AsyncLoggerContextSelector
के माध्यम से सभी लॉगर्स एसिंक होने के लिए सेटअप करता हूं।
मेरी भावना यह है कि जब यह log4j2.xml को संसाधित करता है तो टोमकैट पूरी तरह से प्रारंभ नहीं हो सकता है? किसी भी विचार की बहुत प्रशंसा की जाएगी!
यहाँ मेरी log4j2.xml
है:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="debug" name="LoggingConfig">
<appenders>
<FastFile name="ALog" fileName="${catalina.home}/logs/test.log" immediateFlush="true" append="true">
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
</FastFile>
</appenders>
<loggers>
<logger name="a.namespace.dir" level="info" additivity="false">
<appender-ref ref="ALog"/>
</logger>
<root level="info">
<appender-ref ref="ALog"/>
</root>
</loggers>
</configuration>
से catalina.out
2013-07-31 11:22:00,313 DEBUG Calling createAppender on class org.apache.logging.log4j.core.appender.FastFileAppender for element FastFile with params(fileName="${catalina.home}/logs/test.log", append="true", name="ALog", immediateFlush="true", suppressExceptions="null", PatternLayout(%d %p %c{1.} [%t] %m%n), null, advertise="null", advertiseURI="null", Configuration(LoggingConfig))
2013-07-31 11:22:00,315 DEBUG Starting FastFileManager ${catalina.home}/logs/test.log
2013-07-31 11:22:00,316 DEBUG Calling createAppenders on class org.apache.logging.log4j.core.config.plugins.AppendersPlugin for element appenders with params(appenders={ALog})
2013-07-31 11:22:00,317 DEBUG Generated plugins in 0.000016000 seconds
2013-07-31 11:22:00,318 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element appender-ref with params(ref="ALog", level="null", null)
2013-07-31 11:22:00,320 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig for element logger with params(additivity="false", level="info", name="a.namespace.dir", includeLocation="null", appender-ref={[email protected]}, properties={}, Configuration(LoggingConfig), null)
2013-07-31 11:22:00,321 DEBUG Calling createAppenderRef on class org.apache.logging.log4j.core.config.AppenderRef for element appender-ref with params(ref="ALog", level="null", null)
2013-07-31 11:22:00,322 DEBUG Calling createLogger on class org.apache.logging.log4j.core.config.LoggerConfig$RootLogger for element root with params(additivity="null", level="info", includeLocation="null", appender-ref={[email protected]}, properties={}, Configuration(LoggingConfig), null)
2013-07-31 11:22:00,323 DEBUG Calling createLoggers on class org.apache.logging.log4j.core.config.plugins.LoggersPlugin for element loggers with params(loggers={a.namespace.dir, root})
+1 दस्तावेज़ के लिए +1 हालांकि आपको अपना उत्तर मिला। कम से कम मेरी मदद की। –
'catalina.base' यूनिक्स सिस्टम के लिए अधिक उपयुक्त लगता है क्योंकि यह'/usr/bin' के बजाय '/ var/lib' को इंगित करता है। – BrunoJCM
धन्यवाद यह सिर्फ सही जगह पर था। –