log4j
विन्यास
खोज…
Log4j संपत्ति फ़ाइल
नीचे log4j के लिए एक विन्यास फाइल है। Log4j2 एक ही वाक्यविन्यास का उपयोग कर सकता है, लेकिन विभिन्न परिशिष्ट वर्ग हैं:
log4j.rootLogger=INFO, FOO
## ConsoleAppender
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n
## FileAppender
log4j.appender.FOO=org.apache.log4j.RollingFileAppender
log4j.appender.FOO.File=${catalina.home}/logs/app.log
log4j.appender.FOO.Append=true
log4j.appender.FOO.layout=org.apache.log4j.PatternLayout
log4j.appender.FOO.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n
## attaching appender to specific package:
log4j.logger.com.example.package=INFO, CA
निर्देश log4j.rootLogger किसी भी वर्ग के लिए लॉग स्तर और log4j.rootLogger को परिभाषित करता है जो logger मानदंडों को पूरा नहीं करता है। ध्यान दें कि ऐपेंडर name शब्द 'अपेंडेंट' के बाद परिभाषित किया गया है।
Log4j कॉन्फ़िगरेशन के साथ रन टाइम समस्या हल करें
उपयोगकर्ताओं को निम्नलिखित समस्या का सामना करना पड़ सकता है:
log4j:WARN No appenders could be found for logger (dao.hsqlmanager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
एक कारण यह हो सकता है अगर log4j.properties या .xml फ़ाइल प्रोजेक्ट के भीतर ही स्थित नहीं है। (यह तब हो सकता है जब आप किसी उपकरण को शिप करते हैं, जहां टूल / JAR एक डायरेक्टरी में है और सभी कॉन्फ़िगरेशन एक और डायरेक्टरी है)।
फिर आपको log4j.properties या .xml फ़ाइल में पथ निर्दिष्ट करना होगा। कमांड लाइन उपयोगिता में,
java -Dlog4j.configuration=file:///path/To/log4j.properties YourProject.jar
या यदि आपके पास उपकरण जोड़ने के लिए कोई स्क्रिप्ट है जिसे आप जोड़ सकते हैं
-Dlog4j.configuration=file:///path/To/log4j.properties
उस जगह पर जहां आप कमांड लाइन संस्करण के बराबर कार्रवाई करते हैं। ऐसा नहीं है कि log4j.configuration एक URL प्रारूप में निर्दिष्ट है, जो file:/// द्वारा उपसर्ग file:/// ।