下面列出了怎么用org.apache.logging.log4j.core.util.StringBuilderWriter的API类实例代码及写法,或者点击链接到github查看源代码。
private void formatOption(final Throwable throwable, final String suffix, final StringBuilder buffer) {
final int len = buffer.length();
if (len > 0 && !Character.isWhitespace(buffer.charAt(len - 1))) {
buffer.append(' ');
}
if (!options.allLines() || nonStandardLineSeparator || Strings.isNotBlank(suffix)) {
final StringWriter w = new StringWriter();
throwable.printStackTrace(new PrintWriter(w));
final String[] array = w.toString().split(Strings.LINE_SEPARATOR);
final int limit = options.minLines(array.length) - 1;
final boolean suffixNotBlank = Strings.isNotBlank(suffix);
for (int i = 0; i <= limit; ++i) {
buffer.append(array[i]);
if (suffixNotBlank) {
buffer.append(' ');
buffer.append(suffix);
}
if (i < limit) {
buffer.append(options.getSeparator());
}
}
} else {
throwable.printStackTrace(new PrintWriter(new StringBuilderWriter(buffer)));
}
}
@Override
public void formatTo(StringBuilder buffer, ObjectMessage objectMessage) {
try {
objectMapper.writeValue(new StringBuilderWriter(buffer), objectMessage.getParameter());
} catch (IOException e) {
StatusLogger.getLogger().catching(e);
objectMessage.formatTo(buffer);
}
}
@Override
public String toSerializable(final LogEvent event) {
final StringBuilderWriter writer = new StringBuilderWriter();
try {
toSerializable(event, writer);
return writer.toString();
} catch (final IOException e) {
LOGGER.error(e);
return Strings.EMPTY;
}
}
/**
* Formats a {@link org.apache.logging.log4j.core.LogEvent}.
*
* @param event The LogEvent.
* @return The XML representation of the LogEvent.
*/
@Override
public String toSerializable(final LogEvent event) {
try (final StringBuilderWriter writer = new StringBuilderWriter()) {
toSerializable(event, writer);
return writer.toString();
} catch (final IOException e) {
// Should this be an ISE or IAE?
LOGGER.error(e);
return Strings.EMPTY;
}
}
/**
* Formats a {@link org.apache.logging.log4j.core.LogEvent}.
*
* @param event
* The LogEvent.
* @return The XML representation of the LogEvent.
*/
@Override
public String toSerializable(final LogEvent event) {
try (final StringBuilderWriter writer = new StringBuilderWriter()) {
toSerializable(event, writer);
return writer.toString();
} catch (final IOException e) {
// Should this be an ISE or IAE?
LOGGER.error(e);
return Strings.EMPTY;
}
}
/**
* Formats a {@link org.apache.logging.log4j.core.LogEvent}.
*
* @param event
* The LogEvent.
* @return The XML representation of the LogEvent.
*/
@Override
public String toSerializable(final LogEvent event) {
final StringBuilderWriter writer = new StringBuilderWriter();
try {
toSerializable(event, writer);
return writer.toString();
} catch (final IOException e) {
// Should this be an ISE or IAE?
LOGGER.error(e);
return Strings.EMPTY;
}
}