1.3.21.3.2
Android APK Release / Build Android APK (push) Successful in 55m29s

This commit is contained in:
2026-05-26 16:32:18 +08:00
parent 546cef5ba6
commit 17673b2862
89 changed files with 24098 additions and 272 deletions
+29 -1
View File
@@ -10,6 +10,10 @@ class AppLogger {
static Logger? _logger;
static File? _logFile;
/// 当前日志级别(默认 info,debug 模式下也是 info 避免刷屏)
static Level _level = Level.info;
static Level get level => _level;
/// 初始化日志,必须在 main 中 await
static Future<void> init() async {
if (_logger != null) return;
@@ -22,6 +26,10 @@ class AppLogger {
}
_logFile = File(p.join(logDir.path, 'log.txt'));
_createLogger();
}
static void _createLogger() {
// 2. 配置多路输出:同时输出到控制台和文件
_logger = Logger(
printer: PrettyPrinter(
@@ -38,10 +46,16 @@ class AppLogger {
file: _logFile!,
),
]),
filter: ProductionFilter(),
filter: _LevelFilter(_level),
);
}
/// 运行时切换日志级别
static void setLevel(Level level) {
_level = level;
_createLogger();
}
// 使用 getter 确保 logger 已初始化,防止空指针
static Logger get _instance {
_logger ??= Logger(
@@ -67,6 +81,9 @@ class AppLogger {
/// Error 级别日志
static void e(String message) => _instance.e(message);
/// Trace 级别日志(高频轮询/查询使用,仅 trace 级别可见)
static void t(String message) => _instance.t(message);
/// Debug 级别日志(支持格式化)
static void df(String message, List<Object> args) => _instance.d(message, error: args);
@@ -132,6 +149,17 @@ class AppLogger {
}
}
/// 自定义级别过滤器:低于设定级别的日志被过滤
class _LevelFilter extends LogFilter {
final Level minLevel;
_LevelFilter(this.minLevel);
@override
bool shouldLog(LogEvent event) {
return event.level.index >= minLevel.index;
}
}
/// 定义一个简单的自定义 FileOutput,防止 Logger 自带版本不支持追加
class CustomFileOutput extends LogOutput {
final File file;