/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.statistics;
import org.apache.log4j.Logger;
import org.dspace.eperson.EPerson;
import org.dspace.services.model.Event;
import org.dspace.usage.AbstractUsageEventListener;
import org.dspace.usage.UsageEvent;
public class ElasticSearchLoggerEventListener extends AbstractUsageEventListener {
private static Logger log = Logger.getLogger(ElasticSearchLoggerEventListener.class);
public void receiveEvent(Event event) {
if(event instanceof UsageEvent && (((UsageEvent) event).getAction() == UsageEvent.Action.VIEW))
{
try{
UsageEvent ue = (UsageEvent) event;
EPerson currentUser = ue.getContext() == null ? null : ue.getContext().getCurrentUser();
ElasticSearchLogger.getInstance().post(ue.getObject(), ue.getRequest(), currentUser);
log.info("Successfully logged " + ue.getObject().getTypeText() + "_" + ue.getObject().getID() + " " + ue.getObject().getName());
}
catch(Exception e)
{
log.error("General Exception: " + e.getMessage());
}
}
}
}