outPutModeMethod static method
void
outPutModeMethod(})
Log output mode judgment method.
Implementation
static void outPutModeMethod(
LogOption option,
StackTrace stackTrace,
LogMethod method, {
String? mark,
Object? value,
List<dynamic>? list,
Iterable<dynamic>? iterable,
Map<dynamic, dynamic>? map,
bool isExpand = false,
String? json,
}) {
log(TLog.getHeaderAndFooter(option));
switch (option.mode) {
case LogMode.brief:
log(TLog.getPath(option, ILog.getFilePath(stackTrace)));
log(TLog.getCount(option, ILog.getLine(stackTrace)));
switch (method) {
case LogMethod.list:
if (isExpand) {
log(
TLog.getContent(
option,
option.language == Language.en
? 'Collection expansion output, Style:(index -> value) ↓↓'
: '集合展开输出,样式:(索引 -> 元素) ↓↓'),
);
(list ?? []).iFor((index, element) =>
log(TLog.getOutPut(option, '$index -> $element')));
} else {
log(TLog.getContent(option, list ?? ''));
}
break;
case LogMethod.iterable:
if (isExpand) {
log(TLog.getContent(
option,
option.language == Language.en
? 'A collection of values or elements expands the output, Style:(index -> value) ↓↓'
: '值或者元素的集合展开输出,样式:(索引 -> 元素) ↓↓',
));
iterable!.iFor((index, element) =>
log(TLog.getOutPut(option, '$index -> $element')));
} else {
log(TLog.getContent(option, iterable ?? ''));
}
break;
case LogMethod.map:
if (isExpand) {
log(TLog.getContent(
option,
option.language == Language.en
? 'Key-value pair collection expansion output, Style:(key -> value) ↓↓'
: '键值对集合展开输出,样式:(键 -> 值) ↓↓',
));
final Iterable<dynamic> keys = (map ?? {}).keys;
final List<dynamic> keysList = keys.toList();
keysList.sort((a, b) => '$a'.length.compareTo('$b'.length));
final int length = '${keysList.last}'.length;
keys.toList().iFor((_, element) {
final int curLength = '$element'.length;
final dynamic value = (map ?? {})[element];
log(TLog.getOutPut(
option, '${' ' * (length - curLength)}$element -> $value'));
});
} else {
log(TLog.getContent(option, map ?? ''));
}
break;
case LogMethod.json:
log(TLog.getContent(option, json ?? ''));
break;
default:
log(TLog.getContent(option, value ?? ''));
}
break;
case LogMode.full:
log(TLog.getTime(option));
log(TLog.getProjectName(option));
log(TLog.getPath(option, ILog.getFilePath(stackTrace)));
log(TLog.getWidget(option, ILog.getWidgetName(stackTrace)));
log(TLog.getMethod(option, ILog.getCallMethod(stackTrace)));
log(TLog.getCount(option, ILog.getLine(stackTrace)));
log(TLog.getSupport(option));
log(TLog.getSplitLine(option));
switch (method) {
case LogMethod.list:
if (isExpand) {
log(
TLog.getContent(
option,
option.language == Language.en
? 'Collection expansion output, Style:(index -> value) ↓↓'
: '集合展开输出,样式:(索引 -> 元素) ↓↓'),
);
(list ?? []).iFor((index, element) =>
log(TLog.getOutPut(option, '$index -> $element')));
} else {
log(TLog.getContent(option, list ?? ''));
}
break;
case LogMethod.iterable:
if (isExpand) {
log(TLog.getContent(
option,
option.language == Language.en
? 'A collection of values or elements expands the output, Style:(index -> value) ↓↓'
: '值或者元素的集合展开输出,样式:(索引 -> 元素) ↓↓',
));
iterable!.iFor((index, element) =>
log(TLog.getOutPut(option, '$index -> $element')));
} else {
log(TLog.getContent(option, iterable ?? ''));
}
break;
case LogMethod.map:
if (isExpand) {
log(TLog.getContent(
option,
option.language == Language.en
? 'Key-value pair collection expansion output, Style:(key -> value) ↓↓'
: '键值对集合展开输出,样式:(键 -> 值) ↓↓',
));
final Iterable<dynamic> keys = (map ?? {}).keys;
final List<dynamic> keysList = keys.toList();
keysList.sort((a, b) => '$a'.length.compareTo('$b'.length));
final int length = '${keysList.last}'.length;
keys.toList().iFor((_, element) {
final int curLength = '$element'.length;
final dynamic value = (map ?? {})[element];
log(TLog.getOutPut(
option, '${' ' * (length - curLength)}$element -> $value'));
});
} else {
log(TLog.getContent(option, map ?? ''));
}
break;
case LogMethod.json:
log(TLog.getContent(option, json ?? ''));
break;
default:
log(TLog.getContent(option, value ?? ''));
}
break;
default:
log(TLog.getPath(option, ILog.getFilePath(stackTrace)));
log(TLog.getWidget(option, ILog.getWidgetName(stackTrace)));
log(TLog.getMethod(option, ILog.getCallMethod(stackTrace)));
log(TLog.getCount(option, ILog.getLine(stackTrace)));
log(TLog.getSplitLine(option));
switch (method) {
case LogMethod.list:
if (isExpand) {
log(
TLog.getContent(
option,
option.language == Language.en
? 'Collection expansion output, Style:(index -> value) ↓↓'
: '集合展开输出,样式:(索引 -> 元素) ↓↓'),
);
(list ?? []).iFor((index, element) =>
log(TLog.getOutPut(option, '$index -> $element')));
} else {
log(TLog.getContent(option, list ?? ''));
}
break;
case LogMethod.iterable:
if (isExpand) {
log(TLog.getContent(
option,
option.language == Language.en
? 'A collection of values or elements expands the output, Style:(index -> value) ↓↓'
: '值或者元素的集合展开输出,样式:(索引 -> 元素) ↓↓',
));
iterable!.iFor((index, element) =>
log(TLog.getOutPut(option, '$index -> $element')));
} else {
log(TLog.getContent(option, iterable ?? ''));
}
break;
case LogMethod.map:
if (isExpand) {
log(TLog.getContent(
option,
option.language == Language.en
? 'Key-value pair collection expansion output, Style:(key -> value) ↓↓'
: '键值对集合展开输出,样式:(键 -> 值) ↓↓',
));
final Iterable<dynamic> keys = (map ?? {}).keys;
final List<dynamic> keysList = keys.toList();
keysList.sort((a, b) => '$a'.length.compareTo('$b'.length));
final int length = '${keysList.last}'.length;
keys.toList().iFor((_, element) {
final int curLength = '$element'.length;
final dynamic value = (map ?? {})[element];
log(TLog.getOutPut(
option, '${' ' * (length - curLength)}$element -> $value'));
});
} else {
log(TLog.getContent(option, map ?? ''));
}
break;
case LogMethod.json:
log(TLog.getContent(option, json ?? ''));
break;
default:
log(TLog.getContent(option, value ?? ''));
}
}
log(TLog.getHeaderAndFooter(option, type: false));
}