code: public void startSoftTrans(String busCode,long trxId){
  		
  		if(isSoftTransBegon()) {
  			throw new RuntimeException("transaction already started,but try to start again." + busCode + "," + trxId);
  		}
  		
  		//hook to TransactionSynchronizer
  		TransactionSynchronizationManager.registerSynchronization(new TransactionHook());
  		LogProcessContext logProcessContext = new LogProcessContext(applicationName, busCode, trxId, writer,transStatusLogger);
  		TransactionSynchronizationManager.bindResource(LOG_PROCESS_CONTEXT,logProcessContext);
  		
  		//check whether is a parent transaction
  		TransactionId pTrxId = getParentTransactionId();
  		if(pTrxId == null){
  			
  			//if this transaction is roll back, this record is will disappear
  			//transStatusLogger.writeExecuteFlag(applicationName, busCode, trxId, null, null, null, TransactionStatus.COMMITTED);
  			
  			// since introduced SAGA, Global-transaction status can not be determined by master transaction commit 
  			transStatusLogger.writeExecuteFlag(applicationName, busCode, trxId, null, null, null, TransactionStatus.UNKNOWN);
  		} else {
  			//a transaction with parent transaction,it's status depends on parent
  			//check whether the parent transaction status is determined
  			Integer pTransStatus = MetaDataFilter.getMetaData(EasytransConstant.CallHeadKeys.PARENT_TRANSACTION_STATUS);
  			if(pTransStatus == null){
  				pTransStatus = TransactionStatus.UNKNOWN;
  			} 
  			transStatusLogger.writeExecuteFlag(applicationName, busCode, trxId, pTrxId.getAppId(), pTrxId.getBusCode(), pTrxId.getTrxId(), pTransStatus);
  		}
  	}
docs: create LogContext.<br>
  pass in busCode and trxId will help about the execute efficient and the debug and statistics<br>
  so I demand to pass in busCode and trxId to generate a global unique bus key
  @param busCode the unique busCode in AppId
  @param trxId the unique trxId in appId+busCode