int amount;
int DEFAULT_NO_OF_LOGS = 100;
Logger logger = Logger.getLogger(SynapseConstants.TRACE_LOGGER);
Appender appender = logger.getAppender("TRACE_MEMORYAPPENDER");
if (appender instanceof MemoryAppender) {
MemoryAppender memoryAppender = (MemoryAppender) appender;
if ((memoryAppender.getCircularQueue() != null)) {
amount = memoryAppender.getBufferSize();
} else {
return new String[]{
"--- No trace entries found. " +
"You can enable tracing on sequences, " +
"proxies or endpoints by vising the relevant pages ---"};
}
if ((memoryAppender.getCircularQueue().getObjects(amount) == null) ||
(memoryAppender.getCircularQueue().getObjects(amount).length == 0)) {
return new String[]{
"--- No trace entries found. " +
"You can enable tracing on sequences, " +
"proxies or endpoints by vising the relevant pages ---"};
}
Object[] objects;
if (amount < 1) {
objects = memoryAppender.getCircularQueue().getObjects(DEFAULT_NO_OF_LOGS);
} else {
objects = memoryAppender.getCircularQueue().getObjects(amount);
}
String[] resp = new String[objects.length];
Layout layout = memoryAppender.getLayout();
for (int i = 0; i < objects.length; i++) {
LoggingEvent logEvt = (LoggingEvent) objects[i];
if (logEvt != null) {
resp[i] = StringEscapeUtils.escapeHtml(layout.format(logEvt));
}