You upload your awesome new report in Maximo, click the Preview button or run the report and…. you get no results. Is the problem in the Maximo Where clause, the report query or …? Naturally you turn to the Maximo Logging application, crank up the SQL and Report loggers to DEBUG then sit back and comb through all those juicy log statements that pinpoint exactly where the problem resides. Sound familiar?
Of course not! You crank up all that logging and comb through a whole bunch of nothing.
This article will detail one way to coax Maximo into giving up all the information you need to properly diagnose your report running in Maximo 7.6. You may not need to perform all these steps; however, I was not able to see exactly what I needed until I performed the last step.
The report I was developing was based on the ASSET application and was rather complicated. Consequently I wanted a lot of information out of Maximo. You may not need or want all these loggers running to diagnose your report so feel free to adjust these steps to suit your specific requirements. Keep in mind that if you do not see what you want in the log execute all these steps and get it working. Then you can pare it down to be more efficient.
Set appropriate loggers to DEBUG using the Maximo Logging application.
As I mentioned, the report I was working on was based on ASSET. I wanted to see both ASSET object queries and report queries. Navigate to the Logging application Maximo and filter the Logger list to show sql.
Change the log level to Debug and Apply Settings so the changes take effect.
If you execute the report now all you will see is some SQL statements as you navigate around the ASSET object filtering the records for your eventual report. While potentially useful in providing a complete picture of the data being requested it is most likely not what we need to figure out why our report is not displaying any records. In order to see Birt and report related log statements we need to adjust the log level of the report logger.
Filter the Logging application by report and adjust the log level to DEBUG for the report logger as well as the birt and directprint loggers. Do not forget to Apply Settings.
Setting additional Report loggers to DEBUG.
If you, like me, run your report you still will not see what you want in the log.
In order to see the report parameters, where clause, actual DataSet query being used and a whole bunch of other report information I had to execute the following sql statement against my Maximo database.
update maxlogger set loglevel = ‘DEBUG’ where logkey like ‘log4j.logger.maximo.report%’;
Be sure to commit the update if not using SQL Server.
You will need to restart the Maximo application server after this update. The logger update will not take effect until the Maximo application is restarted.
Now if you run the report you will see the actual queries being executed from within Maximo.