feat(logging): add logging module skeleton

This commit is contained in:
qzl
2026-04-01 14:17:23 +08:00
parent 6722f3d74b
commit bb9e3bf91b
5 changed files with 375 additions and 0 deletions
+70
View File
@@ -0,0 +1,70 @@
import 'log_service.dart';
LogService? _globalLogService;
void setLogService(LogService service) {
_globalLogService = service;
}
LogService _ensureService() {
return _globalLogService ?? (throw StateError('LogService not initialized'));
}
class Logger {
final String module;
final LogService _service;
Logger(this.module, this._service);
factory Logger.get(String module) {
return Logger(module, _ensureService());
}
void debug({
required String message,
Map<String, dynamic>? extra,
StackTrace? stackTrace,
}) => _service.debug(
message: message,
module: module,
extra: extra ?? {},
stackTrace: stackTrace,
);
void info({
required String message,
required Map<String, dynamic> extra,
StackTrace? stackTrace,
}) => _service.info(
message: message,
module: module,
extra: extra,
stackTrace: stackTrace,
);
void warning({
required String message,
required Map<String, dynamic> extra,
StackTrace? stackTrace,
}) => _service.warning(
message: message,
module: module,
extra: extra,
stackTrace: stackTrace,
);
void error({
required String message,
required Object error,
required StackTrace stackTrace,
Map<String, dynamic>? extra,
}) => _service.error(
message: message,
error: error,
stackTrace: stackTrace,
module: module,
extra: extra,
);
}
Logger getLogger(String module) => Logger.get(module);