2011-12-02 13 views
6

पर प्ले फ्रेमवर्क में कॉन्फ़िगरेशन लॉगिंग मैंने अपने प्ले फ्रेमवर्क एप्लिकेशन में लॉगिंग कॉन्फ़िगर किया। जब मैं प्रोड या देव मोड में एप्लिकेशन चलाता हूं या कॉमांड (प्ले टेस्ट) द्वारा परीक्षण चलाता हूं - सब कुछ ठीक काम करता है, लेकिन जब मैं अपना 'प्ले ऑटो-टेस्ट' चलाता हूं तो परीक्षण निष्पादित नहीं हो सकता है। कृपया सहायता कीजिए!स्टार्ट अप ऑटो-टेस्ट

application.log=INFO 
application.log.path=/log4j.xml 

log4j.xml:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="file" class="org.apache.log4j.RollingFileAppender"> 
     <param name="File" value="${application.path}/logs/application.log"/> 
     <param name="MaxFileSize" value="1MB"/> 
     <param name="MaxBackupIndex" value="100"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p ~ %m %n"/> 
     </layout> 
    </appender> 
<logger name="play"> 
    <level value="error"/> 
</logger> 
<root> 
    <priority value="error"/> 
    <appender-ref ref="file"/> 
</root> 
</log4j:configuration> 

मैं निम्नलिखित log4j.xml फ़ाइल का उपयोग करते हैं: आदेश चलाकर

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     <param name="Target" value="System.out"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%m%n"/> 
     </layout> 
    </appender> 
<logger name="play"> 
    <level value="debug"/> 
</logger> 
<root> 
    <priority value="info"/> 
    <appender-ref ref="console"/> 
</root> 
</log4j:configuration>  

परीक्षण 'खेलने

application.conf में

ऑटो-टेस्ट 'सफलतापूर्वक निष्पादित किया गया। कृपया प्ले करें (फ़ाइल में आउटपुट) में लॉगिंग कॉन्फ़िगर करें जो 'प्ले ऑटो-टेस्ट' में परीक्षण चलाता है और निष्पादित करता है!

उत्तर

1

थाई काफी ज्यादा है! बग। यह इस तथ्य के कारण नहीं है कि आपने लॉग 4j को एक अलग फ़ाइल के साथ कॉन्फ़िगर किया है, हालांकि ऐसा करने से एक और त्रुटि संदेश छिपाएगा: "play.tmp नाटक है जब यह play.tmp = none" होना चाहिए (इस पसंद के लिए कुछ - आप ' अगर आप अपनी custon log4j.xml फ़ाइल को हटा दें और "ऑटो-टेस्ट प्ले करें" फिर से करें)। समस्या यह है कि भले ही आप इसे play.tmp = सेट करने के लिए सेट करें, फिर भी यह काम नहीं करेगा। इसके अलावा, यदि आप अपने ऑनलाइन प्रलेखन तुलना खेलने के लिए की सांत्वना उत्पादन आप पहले से ही पता है चल जाएगा कि कुछ के गलत:

डॉक्स कहते हैं:

" '! ऑटो परीक्षण' कमांड से भी ऐसा ही ' परीक्षण 'कमांड, लेकिन यह स्वचालित रूप से एक ब्राउज़र लॉन्च करता है, सभी परीक्षण चलाता है, और रोकता है। "

कंसोल sais (जब आप करते हैं "स्वत: परीक्षण खेलने"):

ATTENTION: You're running Play! in DEV mode 
~ 
~ Go to http://localhost:9000/@tests to run the tests 
~ 
1

जवाब बहुत आसान था

application.conf में

:

%test.application.log=INFO 
%test.application.log.path=/log4j.xml 

application.log=INFO 
application.log.path=/log4j.properties 
application.log.system.out=off 

log4j.xml:

<?xml version="1.0" encoding="UTF-8" ?> 
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> 
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> 
    <appender name="console" class="org.apache.log4j.ConsoleAppender"> 
     <param name="Target" value="System.out"/> 
     <layout class="org.apache.log4j.PatternLayout"> 
      <param name="ConversionPattern" value="%m%n"/> 
     </layout> 
    </appender> 
<logger name="play"> 
    <level value="debug"/> 
</logger> 
<root> 
    <priority value="info"/> 
    <appender-ref ref="console"/> 
</root> 
</log4j:configuration> 

log4j.properti एसएस:

log4j.rootLogger=ERROR, Rolling 
log4j.logger.play=INFO 
log4j.appender.Rolling=org.apache.log4j.RollingFileAppender 
log4j.appender.Rolling.File=${application.path}/logs/application.log 
log4j.appender.Rolling.MaxFileSize=1MB 
log4j.appender.Rolling.MaxBackupIndex=100 
log4j.appender.Rolling.layout=org.apache.log4j.PatternLayout 
log4j.appender.Rolling.layout.ConversionPattern=%d{ABSOLUTE} %-5p ~ %m %n 
log4j.appender.Console=org.apache.log4j.ConsoleAppender 
log4j.appender.Console.layout=org.apache.log4j.PatternLayout 
log4j.appender.Console.layout.ConversionPattern=%d{ABSOLUTE} %-5p ~ %m%n 
+1

हाय इवान, स्टैक ओवरफ्लो में आपका स्वागत है। अपने प्रश्नों का उत्तर देना गलत नहीं है, खासकर अगर आपको लगता है कि कोई उनसे लाभ उठाता है। क्या आप जल्दी से जो कुछ भी कर चुके हैं उसे जोड़ सकते हैं? हम केवल मात्र प्राणियों हैं और हमारी मूल भाषा के रूप में एक्सएमएल नहीं पढ़ते हैं। क्या आपके पास दो अपाचे कॉन्फ़िगरेशन फ़ाइलें हैं, एक एक्सएमएल में है और एक संपत्ति प्रारूप में है और गलत को चुना गया है? –

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