mirror of
https://github.com/hanskokx/arcane_implementations.git
synced 2026-05-14 02:19:05 +02:00
Added dev.log interface and microsoft entra (AD SSO) interface
Signed-off-by: Hans Kokx <hans.d.kokx@gmail.com>
This commit is contained in:
@@ -0,0 +1,43 @@
|
||||
import 'dart:developer' as dev;
|
||||
|
||||
import 'package:arcane_framework/arcane_framework.dart';
|
||||
import 'package:arcane_helper_utils/arcane_helper_utils.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
|
||||
class DevLog implements LoggingInterface {
|
||||
static final DevLog _instance = DevLog._internal();
|
||||
static DevLog get I => _instance;
|
||||
|
||||
final bool _initialized = true;
|
||||
|
||||
@override
|
||||
bool get initialized => I._initialized;
|
||||
|
||||
DevLog._internal();
|
||||
|
||||
@visibleForTesting
|
||||
void setMocked() => _mocked = true;
|
||||
bool _mocked = false;
|
||||
|
||||
@override
|
||||
void log(
|
||||
String message, {
|
||||
Map<String, dynamic>? metadata,
|
||||
Level? level,
|
||||
StackTrace? stackTrace,
|
||||
Object? extra,
|
||||
}) {
|
||||
// If the string is too long, the message won't print. This _shouldn't_ be
|
||||
// the case with `log`, yet here we are.
|
||||
for (final String part in message.splitByLength(256)) {
|
||||
dev.log(part);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<LoggingInterface?> init() async {
|
||||
if (_mocked) return null;
|
||||
|
||||
return I;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user