log method
Implementation
Future<void> log(
String message, {
dynamic data,
LogLevel level = LogLevel.info,
bool printToConsole = true,
bool saveToFile = true,
}) async {
try {
await _ensureInitialized();
final timestamp = _dateFormat.format(DateTime.now());
final levelStr = level.toString().split('.').last.toUpperCase();
final dataStr = data != null ? '\nDATA: $data' : '';
final logEntry = '[$timestamp] [$levelStr] $message$dataStr\n';
if (printToConsole) {
_printColored(level, logEntry);
}
if (saveToFile) {
await _lock.synchronized(() async {
await _logFile?.writeAsString(logEntry, mode: FileMode.append);
});
}
// ignore: empty_catches
} catch (e) {
}
}