log method
void
log(
- String level,
- String message, {
- String? tag,
- dynamic ex,
- StackTrace? stacktrace,
override
Logs message
with log level
and optional tag
, ex
(exception) and stacktrace
Implementation
@override
void log(String level, String message,
{String? tag, dynamic ex, StackTrace? stacktrace}) {
var logTag = tag ?? LogTree.getTag();
String? exDump;
if (ex != null) {
var tmpStacktrace =
stacktrace?.toString().split('\n') ?? LogTree.getStacktrace();
var stackTraceMessage =
tmpStacktrace.map((stackLine) => "\t$stackLine").join("\n");
exDump = "${ex.toString()} \n$stackTraceMessage";
}
String? postFix, preFix;
if (useColors) {
var colorizeWrapper = _defaultColorizeMap[level];
if (colorizeWrapper != null) {
var postPrefix =
colorizeWrapper.wrap("PREFIX_SPLITTER").split("PREFIX_SPLITTER");
if (postPrefix.length == 2) {
preFix = postPrefix[0];
postFix = postPrefix[1];
}
}
}
var logLine = LogLine(level, logTag, message,
exceptionDump: exDump, postFix: postFix, preFix: preFix);
var invokeMsg = logLine.toMsg();
_channel.invokeMethod("log", invokeMsg);
}