本文整理汇总了Java中org.apache.logging.log4j.core.impl.ThrowableProxy.getExtendedStackTraceAsString方法的典型用法代码示例。如果您正苦于以下问题:Java ThrowableProxy.getExtendedStackTraceAsString方法的具体用法?Java ThrowableProxy.getExtendedStackTraceAsString怎么用?Java ThrowableProxy.getExtendedStackTraceAsString使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.apache.logging.log4j.core.impl.ThrowableProxy
的用法示例。
在下文中一共展示了ThrowableProxy.getExtendedStackTraceAsString方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: format
import org.apache.logging.log4j.core.impl.ThrowableProxy; //导入方法依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void format(final LogEvent event, final StringBuilder toAppendTo) {
final ThrowableProxy proxy = event.getThrownProxy();
final Throwable throwable = event.getThrown();
if ((throwable != null || proxy != null) && options.anyLines()) {
if (proxy == null) {
super.format(event, toAppendTo);
return;
}
final String extStackTrace = proxy.getExtendedStackTraceAsString(options.getIgnorePackages(),
options.getTextRenderer(), getSuffix(event), options.getSeparator());
final int len = toAppendTo.length();
if (len > 0 && !Character.isWhitespace(toAppendTo.charAt(len - 1))) {
toAppendTo.append(' ');
}
toAppendTo.append(extStackTrace);
}
}
示例2: format
import org.apache.logging.log4j.core.impl.ThrowableProxy; //导入方法依赖的package包/类
private final String format(final LogEvent event) {
final StringBuilder sb = getStringBuilder();
if (complete && eventCount > 0) {
sb.append(", ");
}
sb.append('{');
// Internal Info
json(sb, "layout.version", LAYOUT_VERSION);
json(sb, "layout.start", layoutStartTime);
json(sb, "layout.sequence", layoutSequence.incrementAndGet());
// Basic Info
json(sb, "timestamp", event.getTimeMillis());
json(sb, "thread", event.getThreadName());
json(sb, "threadId", event.getThreadId());
json(sb, "level", event.getLevel().toString());
json(sb, "logger", event.getLoggerName());
// Caller info
if (locationInfo) {
final StackTraceElement source = event.getSource();
json(sb, "source");
sb.append('{');
json(sb, "class", source.getClassName());
json(sb, "method", source.getMethodName());
json(sb, "file", source.getFileName());
json(sb, "line", source.getLineNumber());
sb.setLength(sb.length() - 1);
sb.append('}').append(',');
}
// Diagnostic Context
if (properties) {
if (!event.getContextStack().isEmpty()) {
json(sb, "ndc", event.getContextStack().asList());
}
if (!event.getContextData().isEmpty()) {
json(sb, "mdc", event.getContextData().toMap());
}
}
// Additional Fields
for (int i = 0; i < additionalFields.length; i++) {
final KeyValuePair kv = additionalFields[i];
final String key = kv.getKey();
final String value = kv.getValue();
final String iv = interpolator.lookup(event, value);
if (iv != null) {
json(sb, (key != null) ? key : value, iv);
}
}
// Message
json(sb, "msg", event.getMessage().getFormattedMessage());
// Exceptions
if (event.getThrownProxy() != null) {
final ThrowableProxy throwableInfo = event.getThrownProxy();
final Throwable t = throwableInfo.getThrowable();
final String exClass = t.getClass().getCanonicalName();
if (exClass != null) {
json(sb, "exception", exClass);
}
final String exMsg = t.getMessage();
if (exMsg != null) {
json(sb, "cause", exMsg);
}
// TODO: Change pure string to complex list/maps of stacktraces?
final String stackTrace = throwableInfo.getExtendedStackTraceAsString("");
if (stackTrace != null) {
json(sb, "stacktrace", stackTrace);
}
}
sb.setLength(sb.length() - 1);
sb.append('}').append(eol);
return sb.toString();
}
示例3: processLogEvent
import org.apache.logging.log4j.core.impl.ThrowableProxy; //导入方法依赖的package包/类
private Message processLogEvent(LogEvent logEvent) {
final String formattedMessage = logEvent.getMessage().getFormattedMessage();
final DateTime timestamp = new DateTime(logEvent.getTimeMillis(), DateTimeZone.UTC);
final Message message = new Message(formattedMessage, hostname, timestamp);
final Level level = logEvent.getLevel();
message.addField(Message.FIELD_LEVEL, Severity.getSeverity(level).getCode());
message.addField("log4j_level", level.name());
message.addField("log4j_level_int", level.intLevel());
message.addField("node_id", nodeId);
if (clusterId != null) {
message.addField("cluster_id", clusterId);
}
message.addField("logger_name", logEvent.getLoggerName());
message.addField("thread_id", logEvent.getThreadId());
message.addField("thread_name", logEvent.getThreadName());
message.addField("thread_priority", logEvent.getThreadPriority());
message.addField("timestamp_nanos", logEvent.getNanoTime());
final Marker marker = logEvent.getMarker();
if (marker != null) {
message.addField("marker", marker.getName());
}
if (includeThreadContext) {
logEvent.getContextData().forEach((k, v ) -> message.addField("context_" + k, v));
// Guard against https://issues.apache.org/jira/browse/LOG4J2-1530
final ThreadContext.ContextStack contextStack = logEvent.getContextStack();
if (contextStack != null) {
final List<String> contextStackItems = contextStack.asList();
if (contextStackItems != null && !contextStackItems.isEmpty()) {
message.addField("context_stack", contextStackItems);
}
}
}
if (includeSource) {
final StackTraceElement source = logEvent.getSource();
if (source != null) {
message.addField("source_file_name", source.getFileName());
message.addField("source_method_name", source.getMethodName());
message.addField("source_class_name", source.getClassName());
message.addField("source_line_number", source.getLineNumber());
}
}
final ThrowableProxy throwableProxy = logEvent.getThrownProxy();
if (includeStackTrace && throwableProxy != null) {
final String stackTrace;
if (includeExceptionCause) {
stackTrace = throwableProxy.getExtendedStackTraceAsString("");
} else {
stackTrace = throwableProxy.getCauseStackTraceAsString("");
}
message.addField("exception_class", throwableProxy.getName());
message.addField("exception_message", throwableProxy.getMessage());
message.addField("exception_stack_trace", stackTrace);
}
return message;
}
示例4: format
import org.apache.logging.log4j.core.impl.ThrowableProxy; //导入方法依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public void format(final LogEvent event, final StringBuilder toAppendTo) {
final ThrowableProxy proxy = event.getThrownProxy();
final Throwable throwable = event.getThrown();
//xpipe code
if(throwable != null){
if(ExceptionUtils.isSocketIoException(event.getThrown()) || ExceptionUtils.xpipeExceptionLogMessage(throwable)){
toAppendTo.append("," + throwable.getClass() + ":" + throwable.getMessage());
return;
}
String extra = ExceptionUtils.extractExtraMessage(throwable);
if(extra != null){
toAppendTo.append(String.format("\n[%s]", extra));
}
}
if ((throwable != null || proxy != null) && options.anyLines()) {
if (proxy == null) {
super.format(event, toAppendTo);
return;
}
final String extStackTrace = proxy.getExtendedStackTraceAsString(options.getPackages());
final int len = toAppendTo.length();
if (len > 0 && !Character.isWhitespace(toAppendTo.charAt(len - 1))) {
toAppendTo.append(' ');
}
if (!options.allLines() || !Constants.LINE_SEPARATOR.equals(options.getSeparator())) {
final StringBuilder sb = new StringBuilder();
final String[] array = extStackTrace.split(Constants.LINE_SEPARATOR);
final int limit = options.minLines(array.length) - 1;
for (int i = 0; i <= limit; ++i) {
sb.append(array[i]);
if (i < limit) {
sb.append(options.getSeparator());
}
}
toAppendTo.append(sb.toString());
} else {
toAppendTo.append(extStackTrace);
}
}
}