代码不按顺序执行?
我做了一个jsp/servlet的开发,写日志的时候遇到很奇怪的一个问题:
基类大致定义如下:
public abstract class RootHandler extends HttpServlet implements
SingleThreadModel {
static protected Logger log = Logger.getLogger("h2005RootHandler");
protected HttpServletResponse m_response;
protected HttpServletRequest m_request;
public void outputLog(String msg) {
//输出到console
System.out.println(msg);
//根据Log4j.properties文件的设定,通过log4j工具包,将信息进行log输出.
log.info(msg);
}
}
servlet中调用如下:
//设定时间格式
SimpleDateFormat bartDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//客户端用户信息获取
String sLogInfo1 = (bartDateFormat.format(new Date()) + " "
+ m_request.getRemoteHost()
+ "(" + m_request.getRemoteUser() + ")"
+ "/生成原辅材料检验申请单");
//检索参数跟踪
String sLogInfo2 = ("\tsd:" + StartOpeDate + " ed:" + EndOpeDate
+ " bl:" + BillNo + " sp:" + SupplierId);
//输出log信息到console或者log文件.
outputLog(sLogInfo1);
outputLog(sLogInfo2);
按照上面代码的顺序,打印出来的log应该是如下顺序:
2005-04-05 10:16:28 A0510(null)/生成原辅材料检验申请单
sd:2005-04-05 ed:2005-04-05 bl:24286 sp:H001
2005-04-05 10:17:34 A0510(null)/生成原辅材料检验申请单
sd:2005-04-05 ed:2005-04-05 bl:24288 sp:H001
但是,我从实际的log中,却发现很多log都是下面这种顺序:
2005-04-05 10:16:28 A0510(null)/生成原辅材料检验申请单
2005-04-05 10:17:34 A0510(null)/生成原辅材料检验申请单
sd:2005-04-05 ed:2005-04-05 bl:24286 sp:H001
sd:2005-04-05 ed:2005-04-05 bl:24288 sp:H001
就是说,我的代码是执行一次输出一个AB,最后应该是ABABABAB的格式
但是实际上却形成了AAAABBBB的格式,请问这是什么问题?