package edu.brown.benchmark.tpce.generators; import java.util.Date; import java.text.SimpleDateFormat; import edu.brown.benchmark.tpce.TPCEConstants.DriverType; import edu.brown.benchmark.tpce.TPCEConstants; public abstract class BaseLogger { private String prefix; private BaseLogFormatter logFormatter; protected BaseLogger(DriverType drvType, long uniqueID, BaseLogFormatter formatter){ String m_Version; int length = 32; logFormatter = formatter; m_Version = EGenVersion.getEGenVersionString(length); prefix = new String (TPCEConstants.szDriverTypeNames[drvType.getVal()] + "(" + m_Version + ")" + "ID :" + uniqueID); } protected abstract boolean sendToLoggerImpl(final String szPrefix, String szTimestamp, final String szMsg); public boolean sendToLogger(final String szPrefix, final String szMsg){ SimpleDateFormat sdf = new SimpleDateFormat(); sdf.applyPattern("dd MMM yyyy HH:mm:ss z"); Date curTime = new Date(); return sendToLoggerImpl(szPrefix, sdf.format(curTime), szMsg); } // Strings public boolean sendToLogger(String str){ return sendToLogger(prefix, str); } // Parameter Structures public boolean sendToLogger(LoaderSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(DriverGlobalSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(DriverCESettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(DriverCEPartitionSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(DriverMEESettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(DriverDMSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(BrokerVolumeSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(CustomerPositionSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(MarketWatchSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(SecurityDetailSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(TradeLookupSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(TradeOrderSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(TradeUpdateSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(TxnMixGeneratorSettings parms){ return sendToLogger(logFormatter.getLogOutput(parms )); } public boolean sendToLogger(TDriverCETxnSettings parms){ boolean result = false; result |= sendToLogger(logFormatter.getLogOutput(parms.BV_settings )); result |= sendToLogger(logFormatter.getLogOutput(parms.CP_settings )); result |= sendToLogger(logFormatter.getLogOutput(parms.MW_settings )); result |= sendToLogger(logFormatter.getLogOutput(parms.SD_settings )); result |= sendToLogger(logFormatter.getLogOutput(parms.TL_settings )); result |= sendToLogger(logFormatter.getLogOutput(parms.TO_settings )); result |= sendToLogger(logFormatter.getLogOutput(parms.TU_settings )); result |= sendToLogger(logFormatter.getLogOutput(parms.TxnMixGenerator_settings )); return result; } }