Skip to content

Commit

Permalink
Long step logs can slow down the UI. Fixed #469
Browse files Browse the repository at this point in the history
  • Loading branch information
chenson42 committed Sep 13, 2016
1 parent 5ae2c28 commit 0b600ec
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@

import org.jumpmind.db.sql.Row;
import org.jumpmind.metl.core.runtime.EntityData;
import org.jumpmind.metl.core.util.LogUtils;

public class Component extends AbstractObjectWithSettings {

Expand Down Expand Up @@ -290,7 +291,7 @@ public Row toRow(EntityData data, boolean qualifyWithEntityName, boolean input)

@Override
public String toString() {
return String.format("{{ChangeType=%s},\n %s}", data.getChangeType(), super.toString().replace(",", ",\n"));
return LogUtils.toJson(data.getChangeType().name(), this);
}
};
Model model = input ? inputModel : outputModel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@

import org.jumpmind.db.sql.Row;
import org.jumpmind.metl.core.runtime.EntityData;
import org.jumpmind.metl.core.util.LogUtils;

public class Model extends AbstractObject {

Expand Down Expand Up @@ -197,7 +198,7 @@ public Row toRow(EntityData data, boolean qualifyWithEntityName) {

@Override
public String toString() {
return String.format("{{ChangeType=%s},\n %s}", data.getChangeType(), super.toString().replace(",", ",\n"));
return LogUtils.toJson(data.getChangeType().name(), this);
}
};
Set<String> attributeIds = data.keySet();
Expand Down
30 changes: 30 additions & 0 deletions metl-core/src/main/java/org/jumpmind/metl/core/util/LogUtils.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,12 @@
import static org.apache.commons.lang.StringUtils.isNotBlank;

import java.io.File;
import java.util.Iterator;
import java.util.Map.Entry;

import org.apache.log4j.PatternLayout;
import org.apache.log4j.RollingFileAppender;
import org.jumpmind.db.sql.Row;
import org.slf4j.bridge.SLF4JBridgeHandler;
import org.springframework.context.ApplicationContext;

Expand Down Expand Up @@ -63,6 +66,33 @@ public static File getLogDir() {
return logDir;
}

public static String toJson(String changeType, Row row) {
Iterator<Entry<String, Object>> i = row.entrySet().iterator();
if (!i.hasNext()) {
return "{}";
}

StringBuilder sb = new StringBuilder();
sb.append('{');
sb.append("\"ChangeType\" : \"").append(changeType).append('"').append('\n');
for (;;) {
Entry<String, Object> e = i.next();
String key = e.getKey();
Object value = e.getValue();
sb.append('"').append(key).append('"');
sb.append(" : ");
if (value instanceof String) {
sb.append('"').append(value).append('"');
} else {
sb.append(value);
}
if (!i.hasNext()) {
return sb.append('}').toString();
}
sb.append(',').append(' ').append('\n');
}
}

public static String formatDuration(long timeInMs) {
if (timeInMs > 60000) {
long minutes = timeInMs / 60000;
Expand Down

0 comments on commit 0b600ec

Please sign in to comment.