Thank you for visiting! If you liked the site, please add a bookmark, else add a critical comment! Would you like to visit Greece? Traditional Greek flag This real estate site is only available in Greek! The holy mountain

Saturday, 25 September 2010

JDeveloper 11g: Using Log4j in ADF view object

Just like the entity object instance, covered here, the process for an ADF view object, goes like this. First, you add the library as shown in the image on your left hand side. Second, you create a file in:


 similar to the following example:

# Set root logger level to INFO and its only appender to ConsoleOut.
log4j.rootLogger=INFO, ConsoleOut

# ConsoleOut is set to be a ConsoleAppender.

# ConsoleOut uses PatternLayout.
log4j.appender.ConsoleOut.layout.ConversionPattern=%-5p: [%d] %c{1} - %m%n
#Addon for

Third, if you want to use logging in several view objects, you need to edit your view object super class code like that:

package tuhra.model.framework;

import oracle.jbo.server.ViewRowImpl;

import org.apache.log4j.Logger;

public class TuhraViewRowImpl extends ViewRowImpl {
  protected Logger logger = Logger.getLogger(this.getClass());

and your view object code like that:

public class AllEmployeesRowImpl extends TuhraViewRowImpl implements AllEmployeesRow {...
     public void defineDefaultImage(Number newDefaultImageId){
                      if (logger.isDebugEnabled())
                         logger.debug("Default Image has been defined!");


Next your diagnostic message appears in the log output window:

INFO : [2010-09-25 11:55:18,739] AllEmployeesRowImpl - DefaultImage has been defined!
Finally, if you need more tips about appenders:

The full source code is available on line:

and is given without any guarantee of support whatsoever.