import 'dart:developer' as developer; /// 日志级别 enum LogLevel { debug, info, warning, error, } /// 日志工具类 /// /// 提供统一的日志记录接口,方便后续扩展和管理 class Logger { /// 当前日志级别,低于此级别的日志不会被输出 static LogLevel _currentLevel = LogLevel.debug; /// 设置日志级别 static void setLevel(LogLevel level) { _currentLevel = level; } /// 输出调试日志 static void debug(String message) { if (_currentLevel.index <= LogLevel.debug.index) { _log('DEBUG', message); } } /// 输出信息日志 static void info(String message) { if (_currentLevel.index <= LogLevel.info.index) { _log('INFO', message); } } /// 输出警告日志 static void warning(String message) { if (_currentLevel.index <= LogLevel.warning.index) { _log('WARNING', message); } } /// 输出错误日志 static void error(String message, [dynamic error, StackTrace? stackTrace]) { if (_currentLevel.index <= LogLevel.error.index) { _log('ERROR', message); if (error != null) { _log('ERROR', 'Original error: $error'); } if (stackTrace != null) { _log('ERROR', 'Stack trace: $stackTrace'); } } } /// 内部日志输出方法 static void _log(String level, String message) { final timestamp = DateTime.now().toString(); developer.log('[$timestamp] $level: $message'); } }