Browse Source

Added CSV logging function to Broadcast.

CSV logger name as it appears in log4j.properties is "csv".
tags/1.0.22
ymlam 2 years ago
parent
commit
f285c75523
2 changed files with 22 additions and 0 deletions
  1. +5
    -0
      pom.xml
  2. +17
    -0
      src/main/java/altk/comm/engine/Broadcast.java

+ 5
- 0
pom.xml View File

@@ -69,6 +69,11 @@
<artifactId>json-simple</artifactId> <artifactId>json-simple</artifactId>
<version>1.1.1</version> <version>1.1.1</version>
</dependency> </dependency>
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.7.1</version>
</dependency>
</dependencies> </dependencies>
<repositories> <repositories>
<repository> <repository>


+ 17
- 0
src/main/java/altk/comm/engine/Broadcast.java View File

@@ -2,6 +2,7 @@ package altk.comm.engine;


import java.io.IOException; import java.io.IOException;
import java.io.PrintWriter; import java.io.PrintWriter;
import java.io.StringWriter;
import java.time.LocalTime; import java.time.LocalTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@@ -19,9 +20,12 @@ import java.util.concurrent.atomic.AtomicInteger;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;


import org.apache.log4j.Category;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.json.simple.JSONObject; import org.json.simple.JSONObject;


import com.opencsv.CSVWriter;

import altk.comm.engine.Job.CommJobStatus; import altk.comm.engine.Job.CommJobStatus;
import altk.comm.engine.exception.BroadcastError; import altk.comm.engine.exception.BroadcastError;
import altk.comm.engine.exception.BroadcastException; import altk.comm.engine.exception.BroadcastException;
@@ -43,6 +47,8 @@ public abstract class Broadcast
static final String DAILY_STOP_KEY = "daily_stop"; static final String DAILY_STOP_KEY = "daily_stop";
static final String DAILY_START_KEY = "daily_start"; static final String DAILY_START_KEY = "daily_start";


static final String CSV_LOGGER = "csv";
public final String broadcastType; public final String broadcastType;
private String broadcastId; private String broadcastId;
@@ -99,6 +105,7 @@ public abstract class Broadcast
private AtomicInteger successCount; private AtomicInteger successCount;
private int pauseThreshold; private int pauseThreshold;
private int lastPauseCount; private int lastPauseCount;
private Logger csvLogger;


public static enum BroadcastState public static enum BroadcastState
@@ -429,6 +436,7 @@ public abstract class Broadcast
serviceActivityCount = Integer.valueOf(0); serviceActivityCount = Integer.valueOf(0);
transactions = Integer.valueOf(0); transactions = Integer.valueOf(0);
lastPauseCount = 0; lastPauseCount = 0;
csvLogger = Logger.getLogger(CSV_LOGGER);
} }
private void incrementTransactions(int delta) private void incrementTransactions(int delta)
@@ -1529,6 +1537,15 @@ public abstract class Broadcast
return dataMap; return dataMap;
} }


public void logCSV(String[] data)
{
StringWriter writer = new StringWriter();
@SuppressWarnings("resource")
CSVWriter csvWriter = new CSVWriter(writer);
csvWriter.writeNext(data);
csvLogger.info(writer);
}

protected void childAddConfigJSON(JSONObject dataMap) { protected void childAddConfigJSON(JSONObject dataMap) {
} }




Loading…
Cancel
Save