From 5d1adfc9315b73ec67497733807e138fcc931c81 Mon Sep 17 00:00:00 2001 From: Seth Ladygo Date: Sat, 26 May 2018 22:56:14 -0700 Subject: [PATCH] use slf4j logging in more places --- src/main/java/App.java | 14 +++++++------- src/main/java/CSVReader.java | 7 +++++-- src/main/java/EsperProcessor.java | 4 ++-- src/main/java/OANDAReader.java | 26 +++++++++++++------------- 4 files changed, 27 insertions(+), 24 deletions(-) diff --git a/src/main/java/App.java b/src/main/java/App.java index 3359e35..54707bd 100644 --- a/src/main/java/App.java +++ b/src/main/java/App.java @@ -17,7 +17,7 @@ import org.apache.commons.cli.HelpFormatter; * App is the entry point for the application. */ public class App { - static final Logger logger = LoggerFactory.getLogger("ATS_Esper"); + static final Logger log = LoggerFactory.getLogger("ATS_Esper"); public static void main(String[] args) { @@ -36,9 +36,9 @@ public class App { try { String epl = readFile(eplFile); processor = new EsperProcessor(epl); - logger.info("Using EPL file {}", eplFile); + log.info("Using EPL file {}", eplFile); } catch (IOException e) { - logger.error("Error reading EPL file {}", eplFile, e); + log.error("Error reading EPL file {}", eplFile, e); System.exit(1); } @@ -46,13 +46,13 @@ public class App { if (cmdline.hasOption("historical")) { String csv = cmdline.getOptionValue("historical"); reader = new CSVReader(new File(csv)); - logger.info("Using CSV file {}", csv); + log.info("Using CSV file {}", csv); } else { // TODO: separate AccountInfo acctInfo = new AccountInfo(); String[] instruments = getInstruments(cmdline); reader = new OANDAReader(acctInfo, instruments); - logger.info("Reading from stream."); + log.info("Reading from stream."); } reader.run(processor); @@ -65,11 +65,11 @@ public class App { if (cmdline.hasOption("instrument")) { String[] instrs = cmdline.getOptionValues("instrument"); for (String instr : instrs) { - logger.info("using instrument: {}", instr); + log.info("using instrument: {}", instr); } return instrs; } else { - logger.debug("Using default security: EUR_USD"); + log.debug("Using default security: EUR_USD"); return new String[] { "EUR_USD" }; } } diff --git a/src/main/java/CSVReader.java b/src/main/java/CSVReader.java index 79f98ac..573edd9 100644 --- a/src/main/java/CSVReader.java +++ b/src/main/java/CSVReader.java @@ -1,12 +1,15 @@ import java.io.File; import java.io.IOException; - +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import com.espertech.esper.client.EPServiceProvider; import com.fasterxml.jackson.databind.MappingIterator; import com.fasterxml.jackson.dataformat.csv.CsvMapper; import com.fasterxml.jackson.dataformat.csv.CsvSchema; + public class CSVReader implements TickStreamReader { + final Logger log = LoggerFactory.getLogger(CSVReader.class); File file; @@ -25,7 +28,7 @@ public class CSVReader implements TickStreamReader { processor.process(value); } } catch (IOException e) { - e.printStackTrace(); + log.error("Reading CSV", e); } } } diff --git a/src/main/java/EsperProcessor.java b/src/main/java/EsperProcessor.java index a427156..8b892df 100644 --- a/src/main/java/EsperProcessor.java +++ b/src/main/java/EsperProcessor.java @@ -15,8 +15,8 @@ import java.util.stream.Collectors; public class EsperProcessor implements TickProcessor { - final Logger logger = LoggerFactory.getLogger(EsperProcessor.class); - EPServiceProvider engine; + final Logger log = LoggerFactory.getLogger(EsperProcessor.class); + EPServiceProvider engine; public EsperProcessor(String epl) { diff --git a/src/main/java/OANDAReader.java b/src/main/java/OANDAReader.java index 39f6516..6d74ecb 100644 --- a/src/main/java/OANDAReader.java +++ b/src/main/java/OANDAReader.java @@ -7,6 +7,8 @@ import java.net.SocketTimeoutException; import java.net.URL; import java.net.URLConnection; import java.net.URLEncoder; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import javax.net.ssl.HttpsURLConnection; @@ -16,6 +18,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; public class OANDAReader implements TickStreamReader { + final Logger log = LoggerFactory.getLogger(OANDAReader.class); AccountInfo accountInfo; String[] instruments; @@ -36,15 +39,14 @@ public class OANDAReader implements TickStreamReader { try { query = String.format("instruments=%s", URLEncoder.encode(instrList, "UTF-8")); } catch (UnsupportedEncodingException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + log.error("Creating stream URL", e); } return String.format("https://stream-%s.oanda.com/v3/accounts/%s/pricing/stream?%s", type, accountInfo.accountID(), query); } - - private static void readConnection(String urlStr, TickProcessor processor) { + + private void readConnection(String urlStr, TickProcessor processor) { HttpsURLConnection httpConn = null; String line = null; try { @@ -65,12 +67,8 @@ public class OANDAReader implements TickStreamReader { while ((line = is.readLine( )) != null) { processLine(line, processor); } - } catch (MalformedURLException e) { - e.printStackTrace(); - } catch(SocketTimeoutException e){ - e.printStackTrace(); } catch (IOException e) { - e.printStackTrace(); + log.error("Reading OANDA stream", e); } finally { httpConn.disconnect(); } @@ -78,21 +76,23 @@ public class OANDAReader implements TickStreamReader { static ObjectMapper mapper = new ObjectMapper(); // create once, reuse - private static void processLine(String line, TickProcessor processor) { + private void processLine(String line, TickProcessor processor) { if (line.indexOf ("PRICE") > -1) { OANDATick tick; try { tick = mapper.readValue(line, OANDATick.class); + // log.info(line); processor.process(tick); } catch (JsonParseException | JsonMappingException e) { - e.printStackTrace(); + log.error("Parsing OANDA data", e); } catch (IOException e) { - e.printStackTrace(); + log.error("Parsing OANDA data", e); } } else if (line.indexOf ("HEARTBEAT") > -1) { // ignore + log.debug(line); } else { - System.out.println("Unknown type: " + line); + log.warn("Unknown type: {}", line); } } }