原理概述
在使用JDeveloper 11g开发和调试ADF程序时,ADFLogger应该当属开发人员使用频率最高的日志打印及调试方法。ADFLogger是基于Java Logging API的ADF实现的日志工具,为程序调试和诊断提供了极大的便利,关于ADFLogger的原理及应用,可以参考之前的博文“ADFLogger记录日志和调试ADF业务组件”,此处不再赘述。
启用了ADFLogger后,则需对WebLogic进行必要的设置,针对开发过程中的ADFLogger日志级别进行服务器端的对应设置,进而将指定级别、指定package路径或指定类的日志打印到控制台/日志文件,实现日志记录和诊断分析,通常情况下,对于WebLogic的日志启用及级别的配置需修改对应的日志配置文件实现,同样可以参考之前的博文“ADFLogger记录日志和调试ADF业务组件”和“创建ADFLogger配置文件”。
除此以外,对于JDeveloper中内置的WebLogic而言,则无需修改配置文件,而可以做到直接通过在JDeveloper中的诊断日志分析器进行配置,且修改后无需重启WebLogic(也可通过WLST工具实现运行时修改,方法见参考文档),可以更好地提高开发和诊断效率,做到按需使用和配置,本文将主要介绍如何借助于JDeveloper中的诊断日志分析器(即Diagnostics Logging Configuration)进行内置WebLogic的日志诊断配置。
应用准备
1、应用项目准备,基于HR Schema中的Jobs表创建EO/VO,生成AM,并在AM的实现类中编写如下代码,实现ADFLogger打印info级info以上级别的日志:
private ADFLogger logger = ADFLogger.createADFLogger(HrAMImpl.class);
……
public void printLog() {
logger.info("info log from HrAMImpl");
logger.config("config log from HrAMImpl");
logger.warning("warning log from HrAMImpl");
logger.fine("fine log from HrAMImpl");
}
2、创建jobs.jspx页面,并在该页面中调用步骤1中的日志打印方法
[postads250x250]
配置步骤
1、在JDeveloper中打开Application Server Navigator面板,选择内置WebLogic Server,点击右键,选择“Configure Oracle Diagnostic Logging for ‘IntegratedWebLogicServer’”
2、打开诊断日志配置器后,即可查看到默认的配置,此处我们设置package路径为com.oracleseeker的所有ADFLogger日志级别为info,则优先级高于等于info级别的日志均可被记录:
3、启动WebLogic并运行该ADF应用,点击printLog按钮时在日志中即可查看到对应的日志信息
4、除在打印日志中查看外,JDeveloper还提供了更为便利的日志,即诊断日志分析器,可以方便开发人员对日志进行分类过滤和分析:
5、通过诊断日志分析器查看日志:
参考文档:
http://jdeveloperfaq.blogspot.com/2011/03/faq-33-how-to-configure-adf-diagnostics.html
http://oracleseeker.com/2008/11/20/debugging_adf_business_component_by_adflogger/
http://oracleseeker.com/2008/11/30/debugging_configuration_logging_for_adflogger/