下面列出了org.slf4j.Marker#iterator ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
private static org.apache.logging.log4j.Marker convertMarker(final Marker original,
final Collection<Marker> visited) {
final org.apache.logging.log4j.Marker marker = MarkerManager.getMarker(original.getName());
if (original.hasReferences()) {
final Iterator<Marker> it = original.iterator();
while (it.hasNext()) {
final Marker next = it.next();
if (visited.contains(next)) {
LOGGER.warn("Found a cycle in Marker [{}]. Cycle will be broken.", next.getName());
} else {
visited.add(next);
marker.addParents(convertMarker(next, visited));
}
}
}
return marker;
}
private static org.apache.logging.log4j.Marker convertMarker(final Marker original,
final Collection<Marker> visited) {
final org.apache.logging.log4j.Marker marker = MarkerManager.getMarker(original.getName());
if (original.hasReferences()) {
final Iterator<Marker> it = original.iterator();
while (it.hasNext()) {
final Marker next = it.next();
if (visited.contains(next)) {
LOGGER.warn("Found a cycle in Marker [{}]. Cycle will be broken.", next.getName());
} else {
visited.add(next);
marker.addParents(convertMarker(next, visited));
}
}
}
return marker;
}
private void serializeMarker(StringBuilder builder, Marker marker) {
if (marker != null) {
EcsJsonSerializer.serializeSingleTag(builder, marker.getName());
Iterator<Marker> it = marker.iterator();
while (it.hasNext()) {
serializeMarker(builder, it.next());
}
}
}
private static String buildMarkerStr(final Marker marker) {
if (!marker.hasReferences()) {
return marker.getName();
}
final StringBuilder sb = new StringBuilder(marker.getName());
final Iterator<Marker> it = marker.iterator();
do {
sb.append(", ").append(it.next().getName());
} while (it.hasNext());
return sb.toString();
}
private void getMarkersRecursively(Marker marker, ArrayComposer<JSONComposer<String>> ac) throws IOException {
if (marker != null) {
ac.add(marker.getName());
Iterator<Marker> it = marker.iterator();
while (it.hasNext()) {
getMarkersRecursively(it.next(), ac);
}
}
}
private List<String> convert(final Marker marker) {
Objects.requireNonNull(marker);
List<String> ret = new ArrayList<>();
ret.add(marker.getName());
Iterator<Marker> children = marker.iterator();
while (children.hasNext()) {
ret.addAll(convert(children.next()));
}
return ret;
}