1.引言
1.1概述
本文档为泛微协同商务系统(Ecology)程序员开发指导文档,讲述了开发底层工具包的应用,常用功能的开发。
2.底层包应用及范例
本章对ecology系统的底层工具包进行讲解,开发人员可以从这里学到怎样利用底层的工具包进行开发
2.1最基本的继承类
系统中每一个java bean 都需要继承 al.BaseBean 类 。这个类实现了记录日志和获取属性文件值的方法。继承这两个类的其它类可直接应用这些方法来记录日志,获取属性文件某一个属性的值。方法的实现见后面的例子。
继承的例子如下:
java bean 的继承
public class ResourceComInfo extends BaseBean {
    public void doSomething() {        //某一个方法
        方法的处理………
        writeLog(s) ;    // 写日志
    }
}
2.2怎样记录日志
继承了al.BaseBean  ,可以直接使用 writeLog方法记录日志信息。注意这里是使用,而不是调用,因为这个方法是这两个被继承类中的方法。
注意writeLog 方法的使用:
/**
* 将某个对象写入Log文件
* @param obj 被写入的对象
*/
  public void writeLog(Object obj)
我们看到,可以被记入日志的是任意一个java对象。这些java对象将被自动转换成字符串对象(String)记入到日志文件中。日志文件将每天生成一个,以日志文件名称中的日期来区别,比如:ecology_20030812.log,代表2003年8月12日的日志。当天的日志为ecology.log。每一条日志的记录格式为 :
YYYY.MM.DD-HH:MM:SS 记录日志的类名 – 日志信息
比如:
2003.03.11-06:52:05 weaver.datacenter.OutReportResult - sql is  select ROUND(sum(F_sksr),5) from T_yyrb A , CRM_CustomerInfo where  CRM_CustomerInfo.id  and CRM_CustomerInfo.id in(5)  portdate >= '2004-01-10'  portdate <= '2004-03-10'  and A.inputstatus >= '0' and A.inputstatus<>'9'  dtype='0'
日志的记录有两种模式,第一种为调试模式,第二种为在线模式。在第一种模式下,所有的java对象都会记录到日志文件中,包括调试信息,在第二种模式下,只有为Exception (异常)的对象才会记录到日志文件中。模式的设置在/ecology/WEB-INF/ log4jinit.properties 属性文件中的Logger 属性来指定,如下:
Logger = INFO,A2
#if you want to open the trace from open source,just add  #  ahead of line
= ERROR
log4j.logger.uk = ERROR
log4j.appender.A2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A2.DatePattern='_'yyyyMMdd'.log'
#don't modify the file property
log4j.appender.A2.File=@ecology
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p %c  - %m%n
上面的日志表明将所有的信息答应到文件日志文件中 ,其中日志的模式为:
#FATAL 0
#ERROR 3
#WARN 4  只有WARN,ERROR,FATAL输出
#INFO 6  所有的log都输出
#DEBUG 7 log4j2 appender
记录日志的例子如下:
public class ResourceComInfo extends BaseBean {
private void setResourceInfo() throws Exception{
   
try{
   
业务处理过程……….
String debugInfo = "This is test" ;
// 在调试模式下将会记入日志文件
                  writeLog("debug info is "+ debugInfo) ;       
            }
            catch(Exception e) {
            // 在任何模式下出现异常,都将会记入日志文件
                  writeLog(e) ;
                  throw e ;
            }
}
}
记录的日志文件形式为:
2007-10-15 16:51:50,125  DEBUG  source. ResourceComInfo - debug info is This is test
如果有异常,将会记录为:
2007-10-15 16:51:50,125  ERROR  source. ResourceComInfo - java.sql.SQLException: [Microsoft][SQLServer JDBC Driver][SQLServer]形式参数 '@id_1' 定义为 OUTPUT,但实际参数却未声明为 OUTPUT。
    at com.microsoft.jdbc.Exception(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
    at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
    at com.microsoft.jdbc.NextResultType(Unknown Source)
    at com.microsoft.jdbc.base.BaseStatementmonExecute(Unknown Source)
    at com.microsoft.jdbc.uteInternal(Unknown Source)
    at com.microsoft.jdbc.ute(Unknown Source)
    uteProc(RecordSet.java:155)
    uteProc(RecordSet.java:109)
    at source. ResourceComInfo (ResourceComInfo.java:59)
    at com.caucho.jsp.JavaPage.service(JavaPage.java:87)
    at com.caucho.jsp.JavaPage.subservice(JavaPage.java:81)
    at com.caucho.jsp.Page.service(Page.java:410)
    at com.caucho.server.http.Invocation.service(Invocation.java:319)
    at com.caucho.server.http.RunnerRequest.handleRequest(RunnerRequest.java:333)
    at com.caucho.server.http.RunnerRequest.handleConnection(RunnerRequest.java:266)
    at com.caucho.server.TcpConnection.run(TcpConnection.java:140)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。