tag managerç manager googletagmanager google debug chrome debugging jasper-reports ireport

debugging - googletagmanager - google tag managerç



¿Cómo depurar los informes de jaspe? (1)

Actualmente estoy trabajando en mis primeros informes usando iReport para diseño. Bajo ciertas condiciones, jasper se atasca en una especie de llamada infinte loop / recursive. Registros de Jasper siguiendo varias veces:

[...] 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 [...]

Esta secuencia se registra repetidamente con identificaciones de relleno idénticas. Tengo dificultades para interpretar esos registros de depuración. Además de resolver el problema concreto, me interesan las estrategias para depurar los informes de jaspe. Entonces, ¿cómo se depuran los informes?


Puede usar log4j.properties para obtener información adicional de iReport. Los siguientes pasos me fueron provistos por el soporte de Jasper para ayudarme a ver qué SQL estaba generando un informe con varios informes secundarios y un SQL dinámico que se pasaba entre ellos.

  1. Cree un archivo log4j.properties (colóquelo en ireport/etc ), con los contenidos de la siguiente manera:

    ############################################# 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 #############################################

    Con lo anterior, el registro de salida estará en iReport.log en la carpeta c:/tmp .

  2. Edite ireport/etc/ireportpro.conf y agregue los siguientes contenidos en el parámetro default_options :

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

    Entonces se convierte en:

    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"

    Preste atención al directorio anterior, deberá ajustarlo a su propio directorio específico de instalación de iReport.

  3. Reinicie iReport y ejecute informes, el SQL generado se iReport.log en iReport.log .