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>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.7.1</version>
</dependency>
</dependencies>
<repositories>
<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.PrintWriter;
import java.io.StringWriter;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Arrays;
@@ -19,9 +20,12 @@ import java.util.concurrent.atomic.AtomicInteger;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

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

import com.opencsv.CSVWriter;

import altk.comm.engine.Job.CommJobStatus;
import altk.comm.engine.exception.BroadcastError;
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_START_KEY = "daily_start";

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

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



Loading…
Cancel
Save