package dk.thoerup.circuitbreaker.web; import java.util.LinkedList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import dk.thoerup.circuitbreaker.CircuitBreaker; import dk.thoerup.circuitbreaker.CircuitBreakerManager; import dk.thoerup.circuitbreaker.statistics.LoggingStatistics; public class LogViewCommand implements Command{ public String execute(HttpServletRequest req, HttpServletResponse resp) { String breakerName = req.getParameter("breaker"); CircuitBreaker breaker = CircuitBreakerManager.getManager().getCircuitBreaker(breakerName); if (breaker == null) return "

No breaker named '" + breakerName + "'

"; LoggingStatistics stats = (LoggingStatistics) breaker.getStatistics(); StringBuilder sb = new StringBuilder(); sb.append("Circuitbreaker Log"); sb.append("<<== Back

"); sb.append("

CircuitBreaker Log : ").append(breakerName).append("

\n"); sb.append(""); LinkedList list = stats.getLog(); for (LoggingStatistics.LogEntry entry : list) { sb.append(""); } sb.append("
"); sb.append( entry.toString() ); sb.append("
"); return sb.toString(); } }