日志错位问题
Closed this issue · 3 comments
shenbengit commented
ahjsrhj commented
改造一下 DefaultBorderFormatter
:
class NewLineBorderFormatter : BorderFormatter {
// 删除了无关代码
override fun format(segments: Array<String?>?): String {
if (segments == null || segments.isEmpty()) {
return ""
}
val nonNullSegments = arrayOfNulls<String>(segments.size)
var nonNullCount = 0
for (segment in segments) {
if (segment != null) {
nonNullSegments[nonNullCount++] = segment
}
}
if (nonNullCount == 0) {
return ""
}
val msgBuilder = StringBuilder()
msgBuilder.append(" " + SystemCompat.lineSeparator)
.append(TOP_HORIZONTAL_BORDER)
.append(SystemCompat.lineSeparator)
for (i in 0 until nonNullCount) {
msgBuilder.append(appendVerticalBorder(nonNullSegments[i] ?: ""))
if (i != nonNullCount - 1) {
msgBuilder.append(SystemCompat.lineSeparator).append(DIVIDER_HORIZONTAL_BORDER)
.append(SystemCompat.lineSeparator)
} else {
msgBuilder.append(SystemCompat.lineSeparator).append(BOTTOM_HORIZONTAL_BORDER)
}
}
return msgBuilder.toString()
}
// 删除了无关代码
}
elvishew commented
@ahjsrhj Can you just extends DefaultBorderFormatter
and override its format
method?
@Override
public String format(String[] segments) {
String formatted = super.format(segments);
if (formatted.length() > 0) {
formatted = SystemCompat.lineSeparator + formatted;
}
return formatted;
}
@shenbengit Hope it can work for you.
xbyl commented
formatted = "|" + SystemCompat.lineSeparator + formatted ;