error method
Implementation
Future<void> error(String message, [StackTrace? stack]) async {
errorsCount++;
if (errorsCount >= 1000) {
if (errorsCount == 1000) {
message = 'Too many errors, error processing is suspended';
stack = null;
}
else return;
}
final String time = DateTime.now().toUtc().toString().replaceFirst(RegExp(r'\..*'), '');
_server._events.dispatch(ErrorEvent(message, stack));
stdout.write(_clear);
print('$_red${time.replaceFirst(RegExp('.* '), '')}: $message$_reset');
_server.console.update();
if (_errorFile != null) {
Future<void> func(void _) => _errorFile!.writeString('$time - $message\n${stack.toString()}\n');
_errorPromise = _errorPromise.then(func);
await _errorPromise;
}
if (_server.config.debug && _debugFile != null) {
Future<void> func(void _) => _debugFile!.writeString('$time - $message\n');
_debugPromise = _debugPromise.then(func);
await _debugPromise;
}
}