![JAR search and dependency download from the Maven repository](/logo.png)
pl.tkowalcz.tjahzi.log4j2.labels.Log4jAdapterLabelPrinter Maven / Gradle / Ivy
The newest version!
package pl.tkowalcz.tjahzi.log4j2.labels;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.pattern.LiteralPatternConverter;
import org.apache.logging.log4j.core.pattern.LogEventPatternConverter;
import org.apache.logging.log4j.core.pattern.PatternFormatter;
import pl.tkowalcz.tjahzi.log4j2.utils.StringBuilders;
import java.util.List;
import java.util.function.Consumer;
@SuppressWarnings("ForLoopReplaceableByForEach")
public class Log4jAdapterLabelPrinter implements LabelPrinter {
private final List formatters;
public Log4jAdapterLabelPrinter(List formatters) {
this.formatters = formatters;
}
@Override
public void append(LogEvent event, Consumer appendable) {
StringBuilder outputBuffer = StringBuilders.threadLocal();
for (int i = 0; i < formatters.size(); i++) {
formatters.get(i).format(event, outputBuffer);
}
appendable.accept(outputBuffer);
}
@Override
public boolean isStatic() {
for (int i = 0; i < formatters.size(); i = i + 1) {
LogEventPatternConverter converter = formatters.get(i).getConverter();
if (converter instanceof LiteralPatternConverter) {
if (((LiteralPatternConverter) converter).getLiteral().contains("$")) {
return false;
}
}
return !converter.isVariable();
}
return true;
}
public static Log4jAdapterLabelPrinter of(List parse) {
return new Log4jAdapterLabelPrinter(parse);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy