An Oracle blog about BI Publisher

  • BIEE
    March 24, 2010

BIP Debugging to a file

If you use the standalone server or with OBIEE and use OC4J as the web server. Have you ever taken a looksee at the console window (doc/xterm) that you use to start it. Ever turned on debugging to see masses of info flow by that window and want to capture it all? I have been debugging today and watched all that info fly by and on Windoze gets lost before you can see it!

The BIP developers use the System.out.println() and System.err.println()methods in the BIP applications to generate debugging formation. Normally the output from these method calls go to the console where the OC4J process is started. However you can specify command line options when starting OC4J to direct the stdout and stderr output directly to files. The ?out and ?err parameters tell OC4J which file to direct the output to.

All you need do is modify the oc4j.cmd file used to start BIP. I didnt get fancy and just plugged in the following to the file under the start section. I just modified the line:

   set CMDARGS=-config "%SERVER_XML%" -userThreads


   set CMDARGS=-config "%SERVER_XML%" 
-out D:\log\oc4j.out
-err D:\log\oc4j.err

Bounced the server and I now have a ballooning pair of debug files that I can pour over to my hearts content. The .out file appears to contain BIP only log info and the .err file, OBIEE messages.

If you are using another web server to host BIP, just check out the user docs to find out how to get the log files to write.

Note to self, remember to turn off the debug when Im done!

Join the discussion

Comments ( 2 )
  • James Thursday, March 25, 2010
    we do it with two oc4j.cmd. One with debug info and other clean. Copy the required file, bounce the server, you are in business.
    However, question I have is, can we control the level of detail that is in these log files.
  • NIcolas GERARD Friday, April 2, 2010
    Thanks for this information. I didn't know which functions were used to create the debug messages.
    When you use OC4J as a service on a Windows plateform, you can create it also using the out and err redirection for the output. Here a little how to:
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.