2012-04-10 10 views
5

वर्तमान में मैं डिजाइन के लिए iReport का उपयोग करके अपनी पहली रिपोर्ट पर काम कर रहा हूं। कुछ स्थितियों में जैस्पर किसी प्रकार के infinte पाश/रिकर्सिव कॉल में फंस जाता है। जैस्पर का लॉग बार बार निम्नलिखित:जेस्पर रिपोर्ट्स को डीबग कैसे करें?

[...] 
12-04-10 10:29:59,222 DEBUG s.engine.fill.JRVerticalFiller|Fill 1207280802: page footer 
12-04-10 10:29:59,222 DEBUG ports.engine.fill.JRBaseFiller|Fill 1207280802: adding page 38849 
12-04-10 10:29:59,222 DEBUG ts.engine.fill.JRFillSubreport|Fill 1207280802: resuming 849817670 
12-04-10 10:29:59,222 DEBUG e.fill.JRThreadSubreportRunner|Fill 849817670: notifying to continue 
12-04-10 10:29:59,222 DEBUG e.fill.JRThreadSubreportRunner|Fill 849817670: waiting for fill result 
12-04-10 10:29:59,222 DEBUG e.fill.JRThreadSubreportRunner|Fill 849817670: notified to continue 
12-04-10 10:29:59,222 DEBUG ports.engine.fill.JRBaseFiller|Fill 849817670: suspeding subreport runner 
12-04-10 10:29:59,222 DEBUG e.fill.JRThreadSubreportRunner|Fill 849817670: notifying on suspend 
12-04-10 10:29:59,222 DEBUG e.fill.JRThreadSubreportRunner|Fill 849817670: waiting to continue 
12-04-10 10:29:59,222 DEBUG e.fill.JRThreadSubreportRunner|Fill 849817670: notified of fill result 
12-04-10 10:29:59,222 DEBUG ts.engine.fill.JRFillSubreport|Fill 1207280802: subreport 849817670 to continue 
[...] 

यह क्रम समान भराव आईडी के साथ बार-बार लॉग होता है। मुझे उन डीबग लॉग की व्याख्या करने में कठिनाइयां हैं। ठोस समस्या को हल करने के अलावा मुझे जैस्पर रिपोर्टों को डीबग करने की रणनीतियों में दिलचस्पी है। तो, आप रिपोर्ट कैसे डीबग करते हैं?

+0

क्या आप 'iReport' डिबगिंग के बारे में बात कर रहे हैं? –

+0

आप जावा एप्लिकेशन के साथ अपनी रिपोर्ट का परीक्षण करने का प्रयास कर सकते हैं (उदाहरण के लिए आप जैस्पर रीपॉर्ट्स एपीआई का उपयोग कर सकते हैं)। आप जेआर एपीआई का स्रोत डाउनलोड कर सकते हैं, ताकि आप इस तरह के एप्लिकेशन को आसानी से डीबग कर सकें –

+0

@Alex K # 1: नहीं, मैं कई सबरेपोर्ट्स के साथ एक जैस्पर रिपोर्ट डीबग करना चाहता हूं। # 2: ठीक है, मैं कोड के माध्यम से कदम उठाने के लिए पहले ही स्रोतों और ग्रहण का उपयोग कर रहा हूं, लेकिन मैं सोच रहा था कि कोई बेहतर विकल्प है या नहीं – GLA

उत्तर

5

iReport से कुछ अतिरिक्त जानकारी प्राप्त करने के लिए आप log4j.properties का उपयोग कर सकते हैं। नीचे दिए गए कदम मुझे जैस्पर समर्थन द्वारा प्रदान किए गए थे ताकि यह देखने में सहायता मिल सके कि कई उप रिपोर्टों और गतिशील एसक्यूएल के बीच एक रिपोर्ट द्वारा एसक्यूएल उत्पन्न किया जा रहा था। इस प्रकार

  1. , एक log4j.properties फ़ाइल (ireport/etc के तहत यह जगह) बनाएं सामग्री के साथ:

    ############################################# 
    log4j.appender.fileout=org.apache.log4j.RollingFileAppender 
    log4j.appender.fileout.File=C:/tmp/iReport.log 
    log4j.appender.fileout.MaxFileSize=1024KB 
    log4j.appender.fileout.MaxBackupIndex=1 
    log4j.appender.fileout.layout=org.apache.log4j.PatternLayout 
    log4j.appender.fileout.layout.conversionPattern=%d{ABSOLUTE} %5p 
    %c{1},%t:%L - %m%n 
    log4j.rootLogger=warn, fileout 
    log4j.logger.net.sf.jasperreports.engine.query=debug 
    ############################################# 
    

    ऊपर के साथ, उत्पादन लॉग c:/tmp फ़ोल्डर में iReport.log में होगा।

  2. संपादित ireport/etc/ireportpro.conf और default_options पैरामीटर में निम्नलिखित सामग्री जोड़ें:

    -J-Dlog4j.configuration=file:/E:/Server/Server451/ireport/etc/log4j.properties 
    

    तो यह हो जाता है:

    default_options="-J-Xms24m -J-Xmx512m 
    
    -J-Dorg.netbeans.ProxyClassLoader.level=1000 -J-XX:MaxPermSize=256m 
    -J-Dlog4j.configuration=file:/E:/Server/Server451/ireport/etc/log4j.properties" 
    

    कृपया उपरोक्त निर्देशिका पर ध्यान देना है, तो आप इसे समायोजित करने की आवश्यकता होगी iReport स्थापना की अपनी विशिष्ट निर्देशिका।

  3. iReport को पुनरारंभ करें और रिपोर्ट निष्पादित करें, जेनरेट किया गया SQL iReport.log में आउटपुट होगा।

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