log method
Implementation
void log(int level, Object? object, String? tag, {bool isJson = false}) {
if (ansiColorDisabled) {
ansiColorDisabled = false;
}
if (object == null || object.toString().isEmpty || !Logger.isEnable()) {
return;
}
String message = object.toString();
AnsiPen pen = getAnsiPen(level);
String fileName = FileUtil.getFileInfo();
String prefix =
"${getLevelFirst(level)}${Logger.isShowFile ? fileName : ""} : ${tag ?? ""}";
// 绘制开始时上边的分割线
print("${pen.call("$prefix $_topBorder")}");
// 处理有换行符的,比如说json
List<String> lines = message.split("\n");
for (String element in lines) {
print("${pen.call("$prefix $_verticalLine $element")}");
}
// 绘制结束时下边的分割线
print("${pen.call("$prefix $_bottomBorder")}");
}