Skip to content

Commit

Permalink
Merge pull request #7381 from GlobalDataverseCommunityConsortium/IQSS…
Browse files Browse the repository at this point in the history
…/7303

adding stack logging
  • Loading branch information
kcondon committed Nov 12, 2020
2 parents 922b0cd + c9ca985 commit 6274712
Showing 1 changed file with 30 additions and 4 deletions.
34 changes: 30 additions & 4 deletions src/main/java/edu/harvard/iq/dataverse/EjbDataverseEngine.java
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
import edu.harvard.iq.dataverse.search.IndexServiceBean;
import edu.harvard.iq.dataverse.search.SearchServiceBean;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import javax.ejb.EJB;
import javax.ejb.Stateless;
Expand All @@ -46,6 +47,8 @@
import javax.validation.ConstraintViolation;
import javax.validation.ConstraintViolationException;

import org.apache.log4j.lf5.LogLevel;

/**
* An EJB capable of executing {@link Command}s in a JEE environment.
*
Expand Down Expand Up @@ -335,12 +338,35 @@ protected void completeCommand(Command command, Object r, Stack<Command> called)
public CommandContext getContext() {
if (ctxt == null) {
ctxt = new CommandContext() {

public Stack<Command> commandsCalled;

@Override
public void addCommand (Command command){
commandsCalled.push(command);
public void addCommand(Command command) {

if (logger.isLoggable(Level.FINE) && !commandsCalled.isEmpty()) {
int instance = (int) (100 * Math.random());
try {
logger.fine("Current Command Stack (" + instance + "): ");
commandsCalled.forEach((c) -> {
logger.fine("Command (" + instance + "): " + c.getClass().getSimpleName()
+ "for DvObjects");
for (Map.Entry<String, DvObject> e : ((Map<String, DvObject>) c.getAffectedDvObjects())
.entrySet()) {
logger.fine("(" + instance + "): " + e.getKey() + " : " + e.getValue().getId());
}
});
logger.fine("Adding command(" + instance + "): " + command.getClass().getSimpleName()
+ " for DvObjects");
for (Map.Entry<String, DvObject> e : ((Map<String, DvObject>) command
.getAffectedDvObjects()).entrySet()) {
logger.fine(e.getKey() + " : " + e.getValue().getId());
}
} catch (Exception e) {
logger.fine("Exception logging command stack(" + instance + "): " + e.getMessage());
}
}
commandsCalled.push(command);
}


Expand Down

0 comments on commit 6274712

Please sign in to comment.