log method
void
log(
- dynamic logOrCommand, [
- dynamic log
Implementation
void log(dynamic logOrCommand, [dynamic log]) {
final linioCommand = commandRunner.argParser
.parse((log != null ? logOrCommand : (logOrCommand is String ? logOrCommand : '')).toString().split(' '));
List<String> linioCommandResult;
if (linioCommand.command?.name?.isNotEmpty == true) {
linioCommandResult = commandRunner
.run((log != null ? logOrCommand : (logOrCommand is String ? logOrCommand : '')).toString().split(' ')) ??
[];
if (log == null && logOrCommand != null) {
logOrCommand = null;
}
} else {
linioCommandResult = [];
}
final linioLog = log ?? logOrCommand;
final tagCandidate = log != null ? (linioCommand.rest.isNotEmpty ? linioCommand.rest.first : '') : '';
String linioTag = linioCommand['tag'] ?? (log != null ? tagCandidate : '');
LinioLogType linioLogType = LinioLogType.static;
switch (linioCommand['mode']) {
case 'l':
case 'live':
linioLogType = LinioLogType.live;
break;
case 's':
case 'static':
linioLogType = LinioLogType.static;
break;
}
LinioLogLevel linioLogLevel = LinioLogLevel.debug;
switch (linioCommand['level']) {
case 'd':
case 'debug':
linioLogLevel = LinioLogLevel.debug;
break;
case 'i':
case 'info':
linioLogLevel = LinioLogLevel.info;
break;
case 'w':
case 'warn':
linioLogLevel = LinioLogLevel.warn;
break;
case 'e':
case 'error':
linioLogLevel = LinioLogLevel.error;
break;
case 'f':
case 'fatal':
linioLogLevel = LinioLogLevel.fatal;
break;
}
final options = LinioOptions(linioLogType, linioLogLevel, linioTag, linioLog ?? '', linioCommand);
if (filters.any((element) => !element.shouldLog(options))) {
return;
}
_print(linioCommand, linioCommandResult, linioLog, options);
}