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 log4j.properties file in:
C:\...\Model\src
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.
log4j.appender.ConsoleOut=org.apache.log4j.ConsoleAppender
# ConsoleOut uses PatternLayout.
log4j.appender.ConsoleOut.layout=org.apache.log4j.PatternLayout
log4j.appender.ConsoleOut.layout.ConversionPattern=%-5p: [%d] %c{1} - %m%n
log4j.logger.org.apache.jsp=DEBUG
#Addon for
com.sun.faces.level=FINE
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:
http://www.mobilefish.com/developer/log4j/log4j_quickguide_appenders.html
The full source code is available on line:
http://code.google.com/p/nickaiva-blogspot/downloads/list
and is given without any guarantee of support whatsoever.
Saturday, 25 September 2010
Thursday, 23 September 2010
Estimate the taxi fare for your routes in Athens, Greece
Many people and mostly tourists, protest about the exorbitant fares paid to taxi drivers, especially in Athens, in greater Attica and other areas. In order to help the passengers in estimating beforehand their fare, I shall publish about a Greek site, that is it has some text in Greek, I am afraid! So, you can visit the following blog url: http://www.zee.gr/taxi/ and click on taxi estimator to enter your starting point and destination, just by clicking on the map!
Thursday, 16 September 2010
JDeveloper 11g:Using Log4j in an ADF application module

starting with adding the log4j library, as shown in the image on your left hand side.
Next, you need to create a log4j.properties file, within:
C:\...\Model\src
just like the following:
# Set root logger level to INFO and its only appender to ConsoleOut.
log4j.rootLogger=INFO, ConsoleOut
# ConsoleOut is set to be a ConsoleAppender.
log4j.appender.ConsoleOut=org.apache.log4j.ConsoleAppender
# ConsoleOut uses PatternLayout.
log4j.appender.ConsoleOut.layout=org.apache.log4j.PatternLayout
log4j.appender.ConsoleOut.layout.ConversionPattern=%-5p: [%d] %c{1} - %m%n
log4j.logger.org.apache.jsp=DEBUG
#Addon for
com.sun.faces.level=FINE
Third, you need to edit your code just like that:
...
import org.apache.log4j.Logger;
...
public class TuhraServiceImpl extends TuhraApplicationModuleImpl implements TuhraService {
private Logger logger = Logger.getLogger(this.getClass());
...
public void createNewImageForEmployee(Number employeeId, String imageName){
...
if (logger.isDebugEnabled())
logger.debug("New image has been created!");
}
}
Finally, you should see your logger message appear in the log output window;
INFO : [2010-09-16 10:26:16,517] TuhraServiceImpl - New image has been created!
Would you like to refactor?
Moreover, you could move the code line below:
private Logger logger = Logger.getLogger(this.getClass());
to the super class:
package tuhra.model.framework;
import oracle.jbo.server.ApplicationModuleImpl;
import org.apache.log4j.Logger;
public class TuhraApplicationModuleImpl extends ApplicationModuleImpl {
protected Logger logger = Logger.getLogger(this.getClass().getName());
}
Once more, your custom logger message should appear in the log output :
INFO : [2010-09-16 15:20:02,247] TuhraServiceImpl - New image has been created!
Finally, if you need more tips about appenders:
http://www.mobilefish.com/developer/log4j/log4j_quickguide_appenders.html
https://logging.apache.org/log4j/2.x/
Subscribe to:
Posts (Atom)