@Override public String toString() { final StringBuilder sb = new StringBuilder(); final Collection<ILoggingEvent> loggingEvents = new ArrayList<>(_temporaryAppender.list); for (final ILoggingEvent loggingEvent : loggingEvents) { sb.append(loggingEvent).append("\n"); final IThrowableProxy throwableProxy = loggingEvent.getThrowableProxy(); if (ThrowableProxy.class.isInstance(throwableProxy)) { // ... dump common exception format when its a ThrowableProxy class instance final OutputStream outputStream = new OutputStream() { @Override public void write(int b) throws IOException { sb.append((char) b); } }; try (final PrintStream s = new PrintStream(outputStream)) { //noinspection ThrowableResultOfMethodCallIgnored ((ThrowableProxy) throwableProxy).getThrowable().printStackTrace(s); } } else if (throwableProxy != null) { // ... well unfortunately some additional package data are dump here making to complicated to test TTD against it. sb.append(ThrowableProxyUtil.asString(throwableProxy)); } } return sb.toString(); } }
public String next() { if (hasNext()) { nevents--; final ILoggingEvent event = (ILoggingEvent) logbuf.get(nevents); final String msg = event.getFormattedMessage(); buf.setLength(0); buf.append(event.getTimeStamp() / 1000) .append('\t').append(event.getLevel().toString()) .append('\t').append(event.getThreadName()) .append('\t').append(event.getLoggerName()) .append('\t').append(msg); final IThrowableProxy thrown = event.getThrowableProxy(); if (thrown != null) { buf.append('\t').append(ThrowableProxyUtil.asString(thrown)); } return buf.toString(); } throw new NoSuchElementException("no more elements"); }
public void verify(Throwable t) { t.printStackTrace(pw); IThrowableProxy tp = new ThrowableProxy(t); String result = ThrowableProxyUtil.asString(tp); result = result.replace("common frames omitted", "more"); String expected = sw.toString(); System.out.println("========expected"); System.out.println(expected); System.out.println("========result"); System.out.println(result); assertEquals(expected, result); }
protected Map<String, Object> createData(E event) { Map<String, Object> data = new HashMap<String, Object>(); data.put(DATA_MSG, encoder.encode(event)); if (event instanceof ILoggingEvent) { ILoggingEvent loggingEvent = (ILoggingEvent) event; data.put(DATA_MESSAGE, loggingEvent.getFormattedMessage()); data.put(DATA_LOGGER, loggingEvent.getLoggerName()); data.put(DATA_THREAD, loggingEvent.getThreadName()); data.put(DATA_LEVEL, loggingEvent.getLevel().levelStr); if (loggingEvent.getMarker() != null) { data.put(DATA_MARKER, loggingEvent.getMarker().toString()); } if (loggingEvent.hasCallerData()) { data.put(DATA_CALLER, new CallerDataConverter().convert(loggingEvent)); } if (loggingEvent.getThrowableProxy() != null) { data.put(DATA_THROWABLE, ThrowableProxyUtil.asString(loggingEvent.getThrowableProxy())); } for (Map.Entry<String, String> entry : loggingEvent.getMDCPropertyMap().entrySet()) { data.put(entry.getKey(), entry.getValue()); } } if (additionalFields != null) { data.putAll(additionalFields); } return data; }
public void verifyContains(Throwable t, String expected) { IThrowableProxy tp = new ThrowableProxy(t); String result = ThrowableProxyUtil.asString(tp); assertTrue("Did not find '" + expected + "' in \n" + result, result.contains(expected)); }
/** * Dump the events passed as argument into the file named targetFile. * * @param eventArray * @param targetFile * @throws IOException */ public static void dump(ILoggingEvent[] eventArray, String targetFile) throws IOException { FileWriter fw = new FileWriter(targetFile); for (ILoggingEvent e : eventArray) { fw.write(e.toString()); fw.append(CoreConstants.LINE_SEPARATOR); if (e.getThrowableProxy() != null) { IThrowableProxy tp = e.getThrowableProxy(); fw.write(ThrowableProxyUtil.asString(tp)); } } fw.flush(); fw.close(); }
@Override public String getFullMessage() { if (getEvent().getThrowableProxy() != null) { return ThrowableProxyUtil.asString(getEvent().getThrowableProxy()); } else { return getMessage(); } }
if (tp != null) { buf.append(COMMA); String throwable = ThrowableProxyUtil.asString(tp); appendKeyValue(buf, "throwable", throwable, null);
@Override public Object encodeSend(LogEvent logEvent) { ILoggingEvent event = logEvent.getLoggingEvent(); StackTraceElement[] stackTraceElements = event.getCallerData(); String className = ""; String simpleClassName = ""; int lineNumber = 0; boolean isNativeMethod = false; if (stackTraceElements != null && stackTraceElements.length > 0) { StackTraceElement first = stackTraceElements[0]; className = first.getClassName(); simpleClassName = (className.indexOf('.') >= 0) ? className.substring(className.lastIndexOf('.') + 1) : className; lineNumber = first.getLineNumber(); isNativeMethod = first.isNativeMethod(); } LogData logData = new LogData(event.getTimeStamp(), event.getLevel().toString(), event.getThreadName(), className, simpleClassName, lineNumber, event.getFormattedMessage(), ThrowableProxyUtil.asString(event.getThrowableProxy()), event.getLoggerName(), event.getMDCPropertyMap(), isNativeMethod); return modifyLogJsonElememnt(GSON.toJsonTree(new FormattedLogDataEvent(logData, logEvent.getOffset()))); }
@Override public Object encodeSend(LogEvent logEvent) { ILoggingEvent event = logEvent.getLoggingEvent(); StackTraceElement[] stackTraceElements = event.getCallerData(); String className = ""; String simpleClassName = ""; int lineNumber = 0; boolean isNativeMethod = false; if (stackTraceElements != null && stackTraceElements.length > 0) { StackTraceElement first = stackTraceElements[0]; className = first.getClassName(); simpleClassName = (className.indexOf('.') >= 0) ? className.substring(className.lastIndexOf('.') + 1) : className; lineNumber = first.getLineNumber(); isNativeMethod = first.isNativeMethod(); } LogData logData = new LogData(event.getTimeStamp(), event.getLevel().toString(), event.getThreadName(), className, simpleClassName, lineNumber, event.getFormattedMessage(), ThrowableProxyUtil.asString(event.getThrowableProxy()), event.getLoggerName(), event.getMDCPropertyMap(), isNativeMethod); return modifyLogJsonElememnt(GSON.toJsonTree(new FormattedLogDataEvent(logData, logEvent.getOffset()))); }
@Override public Object encodeSend(LogEvent logEvent) { ILoggingEvent event = logEvent.getLoggingEvent(); StackTraceElement[] stackTraceElements = event.getCallerData(); String className = ""; String simpleClassName = ""; int lineNumber = 0; boolean isNativeMethod = false; if (stackTraceElements != null && stackTraceElements.length > 0) { StackTraceElement first = stackTraceElements[0]; className = first.getClassName(); simpleClassName = (className.indexOf('.') >= 0) ? className.substring(className.lastIndexOf('.') + 1) : className; lineNumber = first.getLineNumber(); isNativeMethod = first.isNativeMethod(); } LogData logData = new LogData(event.getTimeStamp(), event.getLevel().toString(), event.getThreadName(), className, simpleClassName, lineNumber, event.getFormattedMessage(), ThrowableProxyUtil.asString(event.getThrowableProxy()), event.getLoggerName(), event.getMDCPropertyMap(), isNativeMethod); return modifyLogJsonElememnt(GSON.toJsonTree(new FormattedLogDataEvent(logData, logEvent.getOffset()))); }
@Override public Object encodeSend(LogEvent logEvent) { ILoggingEvent event = logEvent.getLoggingEvent(); StackTraceElement[] stackTraceElements = event.getCallerData(); String className = ""; String simpleClassName = ""; int lineNumber = 0; boolean isNativeMethod = false; if (stackTraceElements != null && stackTraceElements.length > 0) { StackTraceElement first = stackTraceElements[0]; className = first.getClassName(); simpleClassName = (className.indexOf('.') >= 0) ? className.substring(className.lastIndexOf('.') + 1) : className; lineNumber = first.getLineNumber(); isNativeMethod = first.isNativeMethod(); } LogData logData = new LogData(event.getTimeStamp(), event.getLevel().toString(), event.getThreadName(), className, simpleClassName, lineNumber, event.getFormattedMessage(), ThrowableProxyUtil.asString(event.getThrowableProxy()), event.getLoggerName(), event.getMDCPropertyMap(), isNativeMethod); return modifyLogJsonElememnt(GSON.toJsonTree(new FormattedLogDataEvent(logData, logEvent.getOffset()))); }
ThrowableProxy tp = new ThrowableProxy(cause); tp.calculatePackagingData(); final String pretty_exc = ThrowableProxyUtil.asString(tp); tp = null; if (hasQueryStringParam("json")) {
@Override protected void append(final ILoggingEvent event) { if (!isStarted()) { return; } // Build final Log source = new Log(logger, getName()+"/"+event.getLoggerName()); final LogEvent ev = new LogEvent(source, event.getLevel().levelStr.toLowerCase(), event.getFormattedMessage()); // Handle exceptions IThrowableProxy tp = event.getThrowableProxy(); if (tp != null) { ev.addMessage(ThrowableProxyUtil.asString(tp)); } // Do the actual logging Logger.log(ev); } }